lkml.org 
[lkml]   [2010]   [Nov]   [10]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    Date
    From
    Subject[tg_shares_up rewrite v2 00/11] reducing overhead for tg->shares distribution
    This is v2 of the tg_shares_up re-write previously posted at:
    http://lkml.org/lkml/2010/10/16/17

    The key idea behind this patchset is an idea of Peter Zijlstra to compute
    global loads as a function of local averages avoiding the cpu-cpu interactions
    which previously plagued tg_shares_up.

    Not much 'material' has changed since v1 since results seem favourable/stable.
    The only functional change is a bug fix in the wake_affine path where the v1
    was using the waking task's group shares at all levels instead of the per-level
    task_group.

    Changes:
    sched-rework-tg_shares_up.patch
    - use owning tg->shares value in effective_load
    - remove redundant cfs_rq_of() in {enqueue,dequeue}_entity

    sched-tg-add-shares_window_sysctl.patch
    - update comment on sysctl interpretation

    sched-tg-fix-update_cfs_load.patch
    - update comment to reflect periods instead of foldings (more intuitive)

    Some motivation again:
    24 thread Intel box, 150 active cgroups, multiple threads/group, system load at ~90% (sample size=10s):
    tip:
    2.64% [k] tg_shares_up <!>
    0.15% [k] __set_se_shares

    patched:
    0.02% [k] update_cfs_load
    0.01% [k] update_cpu_load
    0.00% [k] update_cfs_shares

    Fairness coverage for the above at: http://rs5.risingnet.net/~pjt/patches/shares_data_v1.txt

    Thanks,

    - Paul

    --



    \
     
     \ /
      Last update: 2010-11-11 04:59    [W:0.021 / U:91.900 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site