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    [from the cache]
©2003-2011 Jasper Spaans