• Patrick Bellasi's avatar
    sched/fair: Add lsub_positive() and use it consistently · b5c0ce7b
    Patrick Bellasi authored
    The following pattern:
    
       var -= min_t(typeof(var), var, val);
    
    is used multiple times in fair.c.
    
    The existing sub_positive() already captures that pattern, but it also
    adds an explicit load-store to properly support lockless observations.
    In other cases the pattern above is used to update local, and/or not
    concurrently accessed, variables.
    
    Let's add a simpler version of sub_positive(), targeted at local variables
    updates, which gives the same readability benefits at calling sites,
    without enforcing {READ,WRITE}_ONCE() barriers.
    Signed-off-by: default avatarPatrick Bellasi <patrick.bellasi@arm.com>
    Signed-off-by: default avatarPeter Zijlstra (Intel) <peterz@infradead.org>
    Cc: Dietmar Eggemann <dietmar.eggemann@arm.com>
    Cc: Juri Lelli <juri.lelli@redhat.com>
    Cc: Linus Torvalds <torvalds@linux-foundation.org>
    Cc: Morten Rasmussen <morten.rasmussen@arm.com>
    Cc: Peter Zijlstra <peterz@infradead.org>
    Cc: Quentin Perret <quentin.perret@arm.com>
    Cc: Steve Muckle <smuckle@google.com>
    Cc: Suren Baghdasaryan <surenb@google.com>
    Cc: Thomas Gleixner <tglx@linutronix.de>
    Cc: Todd Kjos <tkjos@google.com>
    Cc: Vincent Guittot <vincent.guittot@linaro.org>
    Link: https://lore.kernel.org/lkml/20181031184527.GA3178@hirez.programming.kicks-ass.netSigned-off-by: default avatarIngo Molnar <mingo@kernel.org>
    b5c0ce7b
fair.c 272 KB