[patch] CFS scheduler, -v6
From: Ingo Molnar
Date: Wed Apr 25 2007 - 17:48:16 EST
i'm pleased to announce release -v6 of the CFS scheduler patchset. The
main goal of CFS is to implement "high quality desktop scheduling" as
well as technically possible.
The CFS patch against v2.6.21-rc7 or against v126.96.36.199 can be downloaded
from the usual place:
i got lots of -v5 feedback (thanks and please keep the reports coming!)
so the -v6 release includes many bugfixes and improvements:
19 files changed, 317 insertions(+), 744 deletions(-)
the biggest user-visible changes in -v6 are various refinements to the
precise-scheduling infrastructure that should result in generally better
interactivity and a smoother desktop. In particular a number of "movie
playback lags/stutters" and "firefox lags under load" type of
regressions have been resolved. (Please re-report any regression that
might not be fixed yet.)
Changes since -v5:
- feature: increase the preemption granularity value on SMP systems.
Idea and code comes from the SD scheduler of Con Kolivas, with Con's
kind permission. (thanks Con!)
- fix: the "privileged_nice_level=X" boot option should convert signed
integers. (Mike Galbraith)
- build fix: yield_to unistd.h fix (Srivatsa Vaddagiri)
- build fix: CONFIG_HEADERS_CHECK complained about sched.h.
(reported by Zach Carter)
- build fix: normalize_rt_tasks() UP build fix. (Mike Galbraith)
- interactivity fix: sched_clock() accuracy fixes. This should resolve
certain types of interactivity regressions reported on systems that
change their CPU frequencies. (mainly laptops)
- default settings tweak: changed the X renicing default from -19 to
-10, based on tester feedback. (Might still be too much - more
feedback is needed.)
- feature: introduced "wakeup granularity" and added the
/proc/sys/kernel/sched_wakeup_granularity_ns tunable, set to 0 by
default for now. This is now distinct from the sched_granularity_ns
'preemption granularity' property of the scheduler - allowing a
more agressive increase in the preemption granularity without
- debugging feature: SysRq-T now also shows the /proc/sched_debug
output - useful to generate a dump of all relevant scheduler state in
one easy step.
- debugging feature: make SysRq-Nice normalize negative nice level
tasks too and reset the CFS state.
- debugging: extend /proc/sched_debug with a few more clock related
fields, to be able to better debug problems caused by unstable
- upstream fix: SysRq-T should show runnable tasks
- optimization: introduce p->load_shift to simplify the 64-bit math on
32-bit systems and avoid expensive 64-bit divisions.
- cleanup: renamed CONFIG_RENICE_X to CONFIG_BOOST_X.
- cleanup: got rid of more unused code from sched.c
- lots of other smaller stuff i forgot :)
As usual, any sort of feedback, bugreport, fix and suggestion is more
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/