|| ||Colin Walters <walters-AT-verbum.org> |
|| ||Mike Galbraith <efault-AT-gmx.de> |
|| ||Re: [PATCH v4] sched: automated per session task groups |
|| ||Sat, 4 Dec 2010 12:39:48 -0500|
|| ||Ingo Molnar <mingo-AT-elte.hu>, Oleg Nesterov <oleg-AT-redhat.com>,
Peter Zijlstra <a.p.zijlstra-AT-chello.nl>,
Linus Torvalds <torvalds-AT-linux-foundation.org>,
Markus Trippelsdorf <markus-AT-trippelsdorf.de>,
Mathieu Desnoyers <mathieu.desnoyers-AT-efficios.com>,
|| ||Article, Thread
On Sat, Nov 20, 2010 at 2:35 PM, Mike Galbraith <email@example.com> wrote:
> A recurring complaint from CFS users is that parallel kbuild has a negative
> impact on desktop interactivity. This patch implements an idea from Linus,
> to automatically create task groups. This patch only per session autogroups,
> but leaves the way open for enhancement.
Resurrecting this thread a bit, one question I didn't see discussed is simply:
Why doesn't "nice" work for this? On my Fedora 14 system, "ps alxf"
shows almost everything in my session is running at the default nice
0. The only exceptions are "/usr/libexec/tracker-miner-fs" at 19, and
pulseaudio at -11.
I don't know What would happen if say the scheduler effectively
group-scheduled each nice value? Then, what we tell people to do is
run "nice make". Which in fact, has been documented as a thing to do
for decades. Actually I tend to use "ionice" too, which is also
useful if any of your desktop applications happen to make the mistake
of doing I/O in the mainloop (emacs fsync()ing in UI thread, I'm
looking at you).
Quickly testing kernel-220.127.116.11-48.fc14.x86_64 on a "Intel(R)
Core(TM)2 Quad CPU Q9400 @ 2.66GHz", the difference between "make
-j 128" and "nice make -j 128" is quite noticeable. As you'd expect.
The CFS docs already say:
"The CFS scheduler has a much stronger handling of nice levels and SCHED_BATCH
than the previous vanilla scheduler: both types of workloads are isolated much
Does it just need to be even more aggressive, and people use "nice"?
to post comments)