• Patrick Bellasi's avatar
    sched/uclamp: Set default clamps for RT tasks · 1a00d999
    Patrick Bellasi authored
    By default FAIR tasks start without clamps, i.e. neither boosted nor
    capped, and they run at the best frequency matching their utilization
    demand.  This default behavior does not fit RT tasks which instead are
    expected to run at the maximum available frequency, if not otherwise
    required by explicitly capping them.
    
    Enforce the correct behavior for RT tasks by setting util_min to max
    whenever:
    
     1. the task is switched to the RT class and it does not already have a
        user-defined clamp value assigned.
    
     2. an RT task is forked from a parent with RESET_ON_FORK set.
    
    NOTE: utilization clamp values are cross scheduling class attributes and
    thus they are never changed/reset once a value has been explicitly
    defined from user-space.
    Signed-off-by: default avatarPatrick Bellasi <patrick.bellasi@arm.com>
    Signed-off-by: default avatarPeter Zijlstra (Intel) <peterz@infradead.org>
    Cc: Alessio Balsini <balsini@android.com>
    Cc: Dietmar Eggemann <dietmar.eggemann@arm.com>
    Cc: Joel Fernandes <joelaf@google.com>
    Cc: Juri Lelli <juri.lelli@redhat.com>
    Cc: Linus Torvalds <torvalds@linux-foundation.org>
    Cc: Morten Rasmussen <morten.rasmussen@arm.com>
    Cc: Paul Turner <pjt@google.com>
    Cc: Peter Zijlstra <peterz@infradead.org>
    Cc: Quentin Perret <quentin.perret@arm.com>
    Cc: Rafael J . Wysocki <rafael.j.wysocki@intel.com>
    Cc: Steve Muckle <smuckle@google.com>
    Cc: Suren Baghdasaryan <surenb@google.com>
    Cc: Tejun Heo <tj@kernel.org>
    Cc: Thomas Gleixner <tglx@linutronix.de>
    Cc: Todd Kjos <tkjos@google.com>
    Cc: Vincent Guittot <vincent.guittot@linaro.org>
    Cc: Viresh Kumar <viresh.kumar@linaro.org>
    Link: https://lkml.kernel.org/r/20190621084217.8167-9-patrick.bellasi@arm.comSigned-off-by: default avatarIngo Molnar <mingo@kernel.org>
    1a00d999
core.c 186 KB