All of lore.kernel.org
 help / color / mirror / Atom feed
* [tg_shares_up rewrite v2 00/11] reducing overhead for tg->shares distribution
@ 2010-11-11  3:50 Paul Turner
  2010-11-11  3:50 ` [tg_shares_up rewrite v2 01/11] sched: rewrite tg_shares_up Paul Turner
                   ` (10 more replies)
  0 siblings, 11 replies; 16+ messages in thread
From: Paul Turner @ 2010-11-11  3:50 UTC (permalink / raw)
  To: linux-kernel
  Cc: Peter Zijlstra, Ingo Molnar, Srivatsa Vaddagiri, Chris Friesen,
	Vaidyanathan Srinivasan, Pierre Bourdon, Paul Turner,
	Bharata B Rao, Karl Rister, Balbir Singh

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

-- 


^ permalink raw reply	[flat|nested] 16+ messages in thread

end of thread, other threads:[~2010-11-11 12:38 UTC | newest]

Thread overview: 16+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2010-11-11  3:50 [tg_shares_up rewrite v2 00/11] reducing overhead for tg->shares distribution Paul Turner
2010-11-11  3:50 ` [tg_shares_up rewrite v2 01/11] sched: rewrite tg_shares_up Paul Turner
2010-11-11  3:50 ` [tg_shares_up rewrite v2 02/11] sched: on-demand (active) cfs_rq list Paul Turner
2010-11-11  3:50 ` [tg_shares_up rewrite v2 03/11] sched: make tg_shares_up() walk on-demand Paul Turner
2010-11-11  3:50 ` [tg_shares_up rewrite v2 04/11] sched: fix load corruption from update_cfs_shares Paul Turner
2010-11-11  3:50 ` [tg_shares_up rewrite v2 05/11] sched: fix update_cfs_load synchronization Paul Turner
2010-11-11  3:50 ` [tg_shares_up rewrite v2 06/11] sched: hierarchal order on shares update list Paul Turner
2010-11-11  3:50 ` [tg_shares_up rewrite v2 07/11] sched: add sysctl_sched_shares_window Paul Turner
2010-11-11  3:50 ` [tg_shares_up rewrite v2 08/11] sched: update shares on idle_balance Paul Turner
2010-11-11  3:50 ` [tg_shares_up rewrite v2 09/11] sched: demand based update_cfs_load() Paul Turner
2010-11-11  3:50 ` [tg_shares_up rewrite v2 10/11] sched: allow update_cfs_load to update global load Paul Turner
2010-11-11  4:47   ` David Miller
2010-11-11  4:50     ` David Miller
2010-11-11 11:13       ` Paul Turner
2010-11-11 12:37       ` Peter Zijlstra
2010-11-11  3:50 ` [tg_shares_up rewrite v2 11/11] sched: update tg->shares after cpu.shares write Paul Turner

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.