Cc: Willy Tarreau <w@...>, Ingo Molnar <mingo@...>, Jeremy Fitzhardinge <jeremy@...>, Linus Torvalds <torvalds@...>, Nick Piggin <npiggin@...>, Juliusz Chroboczek <jch@...>, Con Kolivas <kernel@...>, ck list <ck@...>, Bill Davidsen <davidsen@...>, <linux-kernel@...>, Andrew Morton <akpm@...>, Mike Galbraith <efault@...>, Arjan van de Ven <arjan@...>, Peter Williams <pwil3058@...>, Thomas Gleixner <tglx@...>, <caglar@...>, Gene Heskett <gene.heskett@...>, Siddha, Suresh B <suresh.b.siddha@...>, Barnes, Jesse <jesse.barnes@...>
On Wed, Apr 25, 2007 at 04:58:40AM -0700, William Lee Irwin III wrote:
On Wed, 2007-04-25 at 22:13 +0200, Willy Tarreau wrote:
On Thu, Apr 26, 2007 at 10:57:48AM -0700, Li, Tong N wrote:
The algorithm is in a bit of flux, but the virtual deadline computation
is rather readable. You may be able to tell whether cfs is affected by
the negative lag issue better than I. For the most part all I can smoke
out is that it's not apparent to me whether load balancing is done the
way it needs to be.
On Thu, Apr 26, 2007 at 10:57:48AM -0700, Li, Tong N wrote:
I'm going to make a bold statement: I don't think O(lg(n)) is bad at
all. In real systems there are constraints related to per-task memory
footprints that severely restrict the domain of the performance metric,
rendering O(lg(n)) bounded by a rather reasonable constant.
A larger concern to me is whether this affair actually achieves its
design goals and, to a lesser extent, in what contexts those design
goals are truly crucial or dominant as opposed to others, such as,
say, interactivity. It is clear, regardless of general applicability,
that the predictability of behavior with regard to strict fairness
is going to be useful in certain contexts.
Another concern which is in favor of the virtual deadline design is
that virtual deadlines can very effectively emulate a broad spectrum
of algorithms. For instance, the mainline "O(1) scheduler" can be
emulated using such a queueing mechanism. Even if the particular
policy cfs now implemented is dumped, radically different policies
can be expressed with its queueing mechanism. This has maintainence
implications which are quite beneficial. That said, it's far from
an unqualified endorsement. I'd still like to see much done differently.
-- wli
-