i'm pleased to announce release -v5 of the CFS scheduler patchset. The
patch against v2.6.21-rc7 and v2.6.20.7 can be downloaded from:
http://redhat.com/~mingo/cfs-scheduler/
this CFS release mainly fixes regressions and improves interactivity:
13 files changed, 211 insertions(+), 199 deletions(-)
the biggest user-visible change in -v5 are various interactivity
improvements (especially under higher load) to fix reported regressions,
and an improved way of handling nice levels. There's also a new
sys_sched_yield_to() syscall implementation for i686 and x86_64.
All known regressions have been fixed. (knock on wood)
[ Note: while CFS's default preemption granularity is currently set to 5
msecs, this value does not directly transform into timeslices: for
example two CPU-intense tasks will have effective timeslices of 10
msecs with this setting. ]
Changes since -v4:
- interactivity bugfix: fix xterm latencies and general desktop delays
and child task startup delays under load. (reported by Willy Tarreau
and Caglar Onur)
- bugfix: the in_atomic_preempt_off() call on !PREEMPT_BKL was buggy
and spammed the console with bogus warnings.
- implementation fix: make the nice levels implementation
starvation-free and smpnice-friendly. Remove the nice_offset hack.
- feature: add initial sys_sched_yield_to() implementation. Not hooked
into the futex code yet, but testers are encouraged to give the
syscalls a try, on i686 the new syscall is __NR_yield_to==320, on
x86_64 it's __NR_yield_to==280. The prototype is
sys_sched_yield_to(pid_t), as suggested by Ulrich Drepper.
- usability feature: add CONFIG_RENICE_X: those who dont want the
kernel to renice X should disable this option. (the boot option and
the sysctl is still available too)
- removed my home-made "Con was right about scheduling fairness"
attribution to Con's scheduler interactivity work - some have
suggested that Con might want to see another text there. Con,
please feel free to fill it in!
- feature: make the CPU usage of nice levels logarithmic instead of
linear. This is more usable and more intuitive. (Going four nice
levels forward/backwards give half/twice the CPU power) [ This was
requested a number of times in the past few years and is
straightforward under CFS because there nice levels are not tied to
any timeslice distribution mechanism. ]
- cleanup: removed the stupid "Ingo was here" banner printk from
sched_init(), the -cfs EXTRAVERSION serves the purpose (of
identifying a booted up kernel as a CFS one) equally well.
- various other code cleanups
As usual, any sort of feedback, bugreport, fix and suggestion is more
than welcome,
Ingo
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
[Index of Archives]
[Kernel Newbies]
[Netfilter]
[Bugtraq]
[Photo]
[Stuff]
[Gimp]
[Yosemite News]
[MIPS Linux]
[ARM Linux]
[Linux Security]
[Linux RAID]
[Video 4 Linux]
[Linux for the blind]
[Linux Resources]