]> git.baikalelectronics.ru Git - kernel.git/commit
sched: Fix poor interactivity on UP systems due to group scheduler nice tune bug
authorYong Zhang <yong.zhang0@gmail.com>
Mon, 24 Jan 2011 07:33:52 +0000 (15:33 +0800)
committerIngo Molnar <mingo@elte.hu>
Mon, 24 Jan 2011 10:47:50 +0000 (11:47 +0100)
commit267709850b323f70a1fe1d8f021b18ecfeaa6250
tree6ccbdd6f80da38f104199538f06f1bf2a5cb235e
parentd3a81907fb3f349bc2b901bf118a200f0c9a1c16
sched: Fix poor interactivity on UP systems due to group scheduler nice tune bug

Michael Witten and Christian Kujau reported that the autogroup
scheduling feature hurts interactivity on their UP systems.

It turns out that this is an older bug in the group scheduling code,
and the wider appeal provided by the autogroup feature exposed it
more prominently.

When on UP with FAIR_GROUP_SCHED enabled, tune shares
only affect tg->shares, but is not reflected in
tg->se->load. The reason is that update_cfs_shares()
does nothing on UP.

So introduce update_cfs_shares() for UP && FAIR_GROUP_SCHED.

This issue was found when enable autogroup scheduling was enabled,
but it is an older bug that also exists on cgroup.cpu on UP.

Reported-and-Tested-by: Michael Witten <mfwitten@gmail.com>
Reported-and-Tested-by: Christian Kujau <christian@nerdbynature.de>
Signed-off-by: Yong Zhang <yong.zhang0@gmail.com>
Acked-by: Pekka Enberg <penberg@kernel.org>
Acked-by: Mike Galbraith <efault@gmx.de>
Acked-by: Peter Zijlstra <peterz@infradead.org>
Cc: Linus Torvalds <torvalds@linux-foundation.org>
LKML-Reference: <20110124073352.GA24186@windriver.com>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
kernel/sched_fair.c