lkml.org 
[lkml]   [2023]   [Aug]   [23]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    From
    Subject[PATCH 0/1] Reduce cost of accessing tg->load_avg
    Date
    RFC v2 -> v1:
    - drop RFC;
    - move cfs_rq->last_update_tg_load_avg before cfs_rq->tg_load_avg_contrib;
    - add Vincent's reviewed-by tag.

    RFC v2:
    Nitin Tekchandani noticed some scheduler functions have high cost
    according to perf/cycles while running postgres_sysbench workload.
    I perf/annotated the high cost functions: update_cfs_group() and
    update_load_avg() and found the costs were ~90% due to accessing to
    tg->load_avg. This series is an attempt to reduce the overhead of
    the two functions.

    Thanks to Vincent's suggestion from v1, this revision used a simpler way
    to solve the overhead problem by limiting updates to tg->load_avg to at
    most once per ms. Benchmark shows that it has good results and with the
    rate limit in place, other optimizations in v1 don't improve performance
    further so they are dropped from this revision.

    Aaron Lu (1):
    sched/fair: ratelimit update to tg->load_avg

    kernel/sched/fair.c | 13 ++++++++++++-
    kernel/sched/sched.h | 1 +
    2 files changed, 13 insertions(+), 1 deletion(-)

    --
    2.41.0

    \
     
     \ /
      Last update: 2023-08-23 08:09    [W:2.668 / U:0.072 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site