From: Ingo Molnar <mingo@elte.hu>
To: linux-kernel@vger.kernel.org
Cc: Linus Torvalds <torvalds@linux-foundation.org>,
Andrew Morton <akpm@linux-foundation.org>,
Mike Galbraith <efault@gmx.de>,
Arjan van de Ven <arjan@infradead.org>,
Thomas Gleixner <tglx@linutronix.de>,
Dmitry Adamushko <dmitry.adamushko@gmail.com>,
Srivatsa Vaddagiri <vatsa@linux.vnet.ibm.com>
Subject: [patch] CFS scheduler, -v19
Date: Fri, 6 Jul 2007 19:33:19 +0200 [thread overview]
Message-ID: <20070706173319.GA2356@elte.hu> (raw)
i'm pleased to announce release -v19 of the CFS scheduler patchset.
The rolled-up CFS patch against today's -git kernel, v2.6.22-rc7,
v2.6.22-rc6-mm1, v2.6.21.5 or v2.6.20.14 can be downloaded from the
usual place:
http://people.redhat.com/mingo/cfs-scheduler/
The biggest user-visible change in -v19 is reworked sleeper fairness:
it's similar in behavior to -v18 but works more consistently across nice
levels. Fork-happy workloads (like kernel builds) should behave better
as well. There are also a handful of speedups: unsigned math, 32-bit
speedups, O(1) task pickup, debloating and other micro-optimizations.
Changes since -v18:
- merged the group-scheduling CFS-core changes from Srivatsa Vaddagiri.
This makes up for the bulk of the changes in -v19 but has no
behavioral impact. The final group-fairness enabler patch is now a
small and lean add-on patch to CFS.
- fix the bloat noticed by Andrew. On 32-bit it's now this:
text data bss dec hex filename
24362 3905 24 28291 6e83 sched.o-rc7
33015 2538 20 35573 8af5 sched.o-v18
25805 2426 20 28251 6e5b sched.o-v19
so it's a net win compared to vanilla. On 64-bit it's even better:
text data bss dec hex filename
35732 40314 2168 78214 13186 sched.o.x64-rc7
41397 37642 2168 81207 13d37 sched.o.x64-v18
36132 37410 2168 75710 127be sched.o.x64-v19
( and there's also a +1.5K data win per CPU on x32, which is not
shown here. [+3.0K data win per CPU on x64.] )
- good number of core code updates, cleanups and streamlining.
(Mike Galbraith, Srivatsa Vaddagiri, Dmitry Adamushko, me.)
- use unsigned data types almost everywhere in CFS. This produces
faster and smaller code, and simplifies the logic.
- turn as many 'u64' data types into 'unsigned long' as possible, to
reduce the 32-bit footprint and to reduce 64-bit arithmetics.
- replaced the nr_running based 'sleep fairness' logic with a more
robust concept. The end-result is similar in behavior to v18, but
negative nice levels are handled much better in this scheme.
- speedup: O(1) task pickup by Srivatsa Vaddagiri. [sleep/wakeup is
O(log2(nr_running)).] This gives 5-10% better hackbench 100/500
results on a 4-way box.
- fix: set idle->sched_class back to &idle_sched_class in
migration_call(). (Dmitry Adamushko)
- cleanup: use an enum for the sched_feature flags. (suggested by
Andrew Morton)
- cleanup: turn the priority macros into inlines. (suggested by
Andrew Morton)
- (other cleanups suggested by Andrew Morton)
- debug: split out the debugging data into CONFIG_SCHED_DEBUG.
As usual, any sort of feedback, bugreport, fix and suggestion is more
than welcome!
Ingo
next reply other threads:[~2007-07-06 17:34 UTC|newest]
Thread overview: 66+ messages / expand[flat|nested] mbox.gz Atom feed top
2007-07-06 17:33 Ingo Molnar [this message]
2007-07-08 17:46 ` [patch] CFS scheduler, -v19 Willy Tarreau
2007-07-09 22:39 ` Ingo Molnar
2007-07-17 21:44 ` Willy Tarreau
2007-07-10 8:08 ` Mike Galbraith
2007-07-11 17:26 ` Bill Davidsen
2007-07-11 20:55 ` Ingo Molnar
2007-07-12 12:41 ` Bill Davidsen
2007-07-13 21:19 ` Bill Davidsen
2007-07-16 21:34 ` Chuck Ebbert
2007-07-16 21:55 ` Ingo Molnar
2007-07-17 4:22 ` Bill Davidsen
2007-07-17 5:01 ` Ian Kent
2007-07-17 7:45 ` Ingo Molnar
2007-07-17 11:17 ` Ian Kent
2007-07-17 17:16 ` Ingo Molnar
2007-07-18 1:24 ` Bill Davidsen
2007-07-18 6:19 ` Ian Kent
2007-07-17 16:30 ` Chuck Ebbert
2007-07-17 21:16 ` David Schwartz
2007-07-18 5:59 ` Ian Kent
2007-07-18 7:54 ` Ingo Molnar
2007-07-18 13:50 ` Bill Davidsen
2007-07-18 17:23 ` Linus Torvalds
2007-07-18 16:03 ` Linus Torvalds
2007-07-18 17:31 ` Ian Kent
2007-07-18 21:37 ` Bill Davidsen
2007-07-19 8:53 ` Ingo Molnar
2007-07-19 14:32 ` Ingo Molnar
2007-07-19 17:06 ` Bill Davidsen
2007-07-19 17:10 ` Ingo Molnar
2007-07-19 17:17 ` Ingo Molnar
2007-07-19 17:26 ` Bill Davidsen
2007-07-19 17:42 ` Ingo Molnar
2007-07-20 2:32 ` Bill Davidsen
2007-07-19 8:16 ` Ingo Molnar
2007-07-14 11:34 ` Markus
2007-07-14 15:11 ` Markus
2007-07-16 9:41 ` Ingo Molnar
2007-07-16 17:59 ` Markus
2007-07-17 7:37 ` Ingo Molnar
2007-07-17 13:06 ` Markus
2007-07-17 17:06 ` Ingo Molnar
2007-07-17 17:13 ` Ingo Molnar
2007-07-17 19:42 ` Markus
2007-07-17 20:09 ` Ingo Molnar
2007-07-17 20:37 ` Linus Torvalds
2007-07-17 20:43 ` Ingo Molnar
2007-07-17 22:03 ` Markus
2007-07-20 22:26 ` Markus
2007-07-22 11:59 ` konqueror suddenly vanishing, "konqueror: Fatal IO error: client killed" Ingo Molnar
2007-07-22 14:26 ` Markus
2007-08-09 17:34 ` [patch] CFS scheduler, -v19 Markus
2007-08-10 7:46 ` Ingo Molnar
2007-08-14 17:15 ` Markus
2007-10-17 0:02 ` Markus
2007-07-14 17:19 ` Ed Tomlinson
2007-07-15 5:25 ` Mike Galbraith
2007-07-15 12:53 ` Markus
2007-07-15 19:46 ` Mike Galbraith
2007-07-15 21:11 ` Markus
2007-07-16 6:42 ` Mike Galbraith
2007-07-16 8:00 ` Ingo Molnar
2007-07-16 9:17 ` Ingo Molnar
2007-07-16 11:10 ` Ed Tomlinson
-- strict thread matches above, loose matches on Subject: below --
2007-07-08 20:51 Al Boldi
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20070706173319.GA2356@elte.hu \
--to=mingo@elte.hu \
--cc=akpm@linux-foundation.org \
--cc=arjan@infradead.org \
--cc=dmitry.adamushko@gmail.com \
--cc=efault@gmx.de \
--cc=linux-kernel@vger.kernel.org \
--cc=tglx@linutronix.de \
--cc=torvalds@linux-foundation.org \
--cc=vatsa@linux.vnet.ibm.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.