[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20070423011229.GA20367@elte.hu>
Date: Mon, 23 Apr 2007 03:12:29 +0200
From: Ingo Molnar <mingo@...e.hu>
To: linux-kernel@...r.kernel.org
Cc: Linus Torvalds <torvalds@...ux-foundation.org>,
Andrew Morton <akpm@...ux-foundation.org>,
Con Kolivas <kernel@...ivas.org>,
Nick Piggin <npiggin@...e.de>, Mike Galbraith <efault@....de>,
Arjan van de Ven <arjan@...radead.org>,
Peter Williams <pwil3058@...pond.net.au>,
Thomas Gleixner <tglx@...utronix.de>, caglar@...dus.org.tr,
Willy Tarreau <w@....eu>,
Gene Heskett <gene.heskett@...il.com>, Mark Lord <lkml@....ca>,
Ulrich Drepper <drepper@...hat.com>
Subject: [patch] CFS scheduler, -v5
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 majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists