[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <MDEHLPKNGKAHNMBLJOLKGEEIFLAC.davids@webmaster.com>
Date: Sat, 28 Jul 2007 11:55:35 -0700
From: "David Schwartz" <davids@...master.com>
To: "Linux-Kernel@...r. Kernel. Org" <linux-kernel@...r.kernel.org>
Subject: RE: Volanomark slows by 80% under CFS
> > Volanomark runs better
> > and is only 40% (instead of 80%) down from old scheduler
> > without CFS.
> 40 or 80 % is still a huge regression.
> Dmitry Adamushko
Can anyone explain precisely what Volanomark is doing? If it's something
dumb like "looping on sched_yield until the 'right' thread runs and finishes
what we're waiting for" then I think any regression can be ignored.
This applies if and only if CFS' sched_yield behavior is sane and Volano's
is insane.
A sane sched_yield implementation must do two things:
1) Reward processes that actually do yield most of their CPU time to another
process.
2) Make an effort to run every ready-to-run process at the same or higher
static priority level before re-scheduling this process. (That won't always
be possible due to SMP issues, but a reasonable effort is needed.)
If CFS is doing these two things, and Volanomark is looping on sched_yield
until the 'right thread' runs, then CFS is doing the right and Volanomark
isn't. Volanomark deserves to lose.
If CFS binds processes to processors more tightly and thus sched_yield can't
yield to a process that was planned to run on another CPU in the future,
that would be a legitimate complaint about CFS.
DS
-
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