Re: [Announce] [patch] Modular Scheduler Core and Completely Fair Scheduler [CFS]

Bill Davidsen
2007-04-21T13:34:50Z

Matt Mackall wrote:
> On Wed, Apr 18, 2007 at 08:37:11AM +0200, Nick Piggin wrote:

>>> [2] It's trivial to construct two or more perfectly reasonable and
>>> desirable definitions of fairness that are mutually incompatible.
>> Probably not if you use common sense, and in the context of a replacement
>> for the 2.6 scheduler.
>
> Ok, trivial example. You cannot allocate equal CPU time to
> processes/tasks and simultaneously allocate equal time to thread
> groups. Is it common sense that a heavily-threaded app should be able
> to get hugely more CPU than a well-written app? No. I don't want Joe's
> stupid Java app to make my compile crawl.
>
> On the other hand, if my heavily threaded app is, say, a voicemail
> server serving 30 customers, I probably want it to get 30x the CPU of
> my gzip job.
>
Matt, you tickled a thought... on one hand we have a single user running
a threaded application, and it ideally should get the same total CPU as
a user running a single thread process. On the other hand we have a
threaded application, call it sendmail, nnrpd, httpd, bind, whatever. In
that case each thread is really providing service for an independent
user, and should get an appropriate share of the CPU.

Perhaps the solution is to add a means for identifying server processes,
by capability, or by membership in a "server" group, or by having the
initiating process set some flag at exec() time. That doesn't
necessarily solve problems, but it may provide more information to allow
them to be soluble.

--
Bill Davidsen <davidsen@tmr.com>
"We have more to fear from the bungling of the incompetent than from
the machinations of the wicked." - from Slashdot