lkml.org 
[lkml]   [2022]   [Aug]   [8]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH v4 9/9] sched/fair: don't init util/runnable_avg for !fair task
    Date
    post_init_entity_util_avg() init task util_avg according to the cpu util_avg
    at the time of fork, which will decay when switched_to_fair() some time later,
    we'd better to not set them at all in the case of !fair task.

    Suggested-by: Vincent Guittot <vincent.guittot@linaro.org>
    Signed-off-by: Chengming Zhou <zhouchengming@bytedance.com>
    ---
    kernel/sched/fair.c | 28 ++++++++++++++--------------
    1 file changed, 14 insertions(+), 14 deletions(-)

    diff --git a/kernel/sched/fair.c b/kernel/sched/fair.c
    index 2063e30b2a8f..082174cb0e47 100644
    --- a/kernel/sched/fair.c
    +++ b/kernel/sched/fair.c
    @@ -833,20 +833,6 @@ void post_init_entity_util_avg(struct task_struct *p)
    long cpu_scale = arch_scale_cpu_capacity(cpu_of(rq_of(cfs_rq)));
    long cap = (long)(cpu_scale - cfs_rq->avg.util_avg) / 2;

    - if (cap > 0) {
    - if (cfs_rq->avg.util_avg != 0) {
    - sa->util_avg = cfs_rq->avg.util_avg * se->load.weight;
    - sa->util_avg /= (cfs_rq->avg.load_avg + 1);
    -
    - if (sa->util_avg > cap)
    - sa->util_avg = cap;
    - } else {
    - sa->util_avg = cap;
    - }
    - }
    -
    - sa->runnable_avg = sa->util_avg;
    -
    if (p->sched_class != &fair_sched_class) {
    /*
    * For !fair tasks do:
    @@ -861,6 +847,20 @@ void post_init_entity_util_avg(struct task_struct *p)
    se->avg.last_update_time = cfs_rq_clock_pelt(cfs_rq);
    return;
    }
    +
    + if (cap > 0) {
    + if (cfs_rq->avg.util_avg != 0) {
    + sa->util_avg = cfs_rq->avg.util_avg * se->load.weight;
    + sa->util_avg /= (cfs_rq->avg.load_avg + 1);
    +
    + if (sa->util_avg > cap)
    + sa->util_avg = cap;
    + } else {
    + sa->util_avg = cap;
    + }
    + }
    +
    + sa->runnable_avg = sa->util_avg;
    }

    #else /* !CONFIG_SMP */
    --
    2.36.1
    \
     
     \ /
      Last update: 2022-08-08 15:00    [W:6.027 / U:0.380 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site