linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Jeremy Fitzhardinge <jeremy@goop.org>
To: davids@webmaster.com
Cc: "Linux-Kernel@Vger. Kernel. Org" <linux-kernel@vger.kernel.org>
Subject: Re: [PATCH][RSDL-mm 0/7] RSDL cpu scheduler for 2.6.21-rc3-mm2
Date: Tue, 13 Mar 2007 13:10:40 -0700	[thread overview]
Message-ID: <45F70540.8090506@goop.org> (raw)
In-Reply-To: <MDEHLPKNGKAHNMBLJOLKIELACDAC.davids@webmaster.com>

David Schwartz wrote:
>> There's a distinction between giving it more cpu and giving it higher
>> priority: the important part about having high priority is getting low
>> latency access to the cpu when its needed.
>>     
>
> I agree. Tasks that voluntarily relinquish their timeslices should get lower
> latency compared to other processes at the same static priority.
>
>   
>> This really seems like the wrong approach to me.  The implication here
>> and in other mails is that fairness is an inherently good thing which
>> should obviously take preference over any other property.
>>     
>
> Yes, that is the implication. The alternative to fairness is arbitrary
> unfairness. "Rational unfairness" is a form of fairness.
>
>   
>> The old unix-style dynamic priority scheme was designed to give
>> interactive processes high priorities, by using the observation that
>> "interactive" means "spends a lot of time blocked waiting for input".
>> That model of interactive is way too simple now, and the attempts to try
>> an find an equivalent heuristic have been flawed and lead to - in some
>> cases - wildly bad behaviours.  I'm guessing the emphasis on "fairness"
>> is in reaction to this, which is fair enough.
>>     
>
> I don't think it makes sense for the scheduler to look for some hint that
> the user would prefer a task to get more CPU and try to give it more. That's
> what 'nice' is for.
>
>   
>> But saying that the user needs to explicitly hold the schedulers hand
>> and nice everything to tell it how to schedule seems to be an abdication
>> of duty, an admission of failure.  We can't expect users to finesse all
>> their processes with nice, and it would be a bad user interface to ask
>> them to do so.
>>     
>
> Then you will always get cases where the scheduler does not do what the user
> wants because the scheduler does not *know* what the user wants. You always
> have to tell a computer what you want it to do, and the best it can do is
> faithfully follow your request.
>   

Hm, well.  The general preference has been for the kernel to do a
good-enough job on getting the common cases right without tuning, and
then only add knobs for the really tricky cases it can't do well.  But
the impression I'm getting here is that you often get sucky behaviours
without tuning.

> I think it's completely irrational to ask for a scheduler that automatically
> gives more CPU time to CPU hogs.
>   

Well, it doesn't have to.  It could give good low latency with short
timeslices to things which appear to be interactive.  If the interactive
program doesn't make good use of its low latency, then it will suck. 
But that's largely independent of how much overall CPU you give it.

> I agree. I'm not claiming to have the perfect solution. Let's not let the
> perfect be the enemy of the good though.
>   

For all its faults, the current scheduler mostly does a good job without
much tuning - I normally only use "nice" to run cpu-bound things without
jacking the cpu speed up.  Certainly in my normal interactive use of
compiz vs make -j4 on a dual-core generally gets pretty pretty good
results.  I plan on testing the new scheduler soon though.

    J

  reply	other threads:[~2007-03-13 20:10 UTC|newest]

Thread overview: 91+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2007-03-11  3:57 [PATCH][RSDL-mm 0/7] RSDL cpu scheduler for 2.6.21-rc3-mm2 Con Kolivas
2007-03-11 11:39 ` Mike Galbraith
2007-03-11 11:48   ` Con Kolivas
2007-03-11 12:08     ` Mike Galbraith
2007-03-11 12:10   ` Ingo Molnar
2007-03-11 12:20     ` Mike Galbraith
2007-03-11 21:18       ` Mike Galbraith
2007-03-12  7:22     ` Mike Galbraith
2007-03-12  7:48       ` Con Kolivas
2007-03-12  8:29         ` Con Kolivas
2007-03-12  8:55           ` Mike Galbraith
2007-03-12  9:22             ` Con Kolivas
2007-03-12  9:38               ` Mike Galbraith
2007-03-12 10:27                 ` Con Kolivas
2007-03-12 10:57                   ` Mike Galbraith
2007-03-12 11:08                     ` Ingo Molnar
2007-03-12 11:23                       ` Con Kolivas
2007-03-12 13:48                         ` Theodore Tso
2007-03-12 18:09                           ` Con Kolivas
2007-03-12 14:34                         ` Mike Galbraith
2007-03-12 15:26                           ` Linus Torvalds
2007-03-12 18:10                             ` Con Kolivas
2007-03-12 19:36                             ` Peter Zijlstra
2007-03-12 20:36                             ` Mike Galbraith
2007-03-13  4:17                             ` Kyle Moffett
2007-03-13  8:09                             ` Ingo Molnar
2007-03-12 18:49                           ` Con Kolivas
2007-03-12 19:06                             ` Xavier Bestel
2007-03-13 17:21                               ` Valdis.Kletnieks
2007-03-12 20:11                             ` Mike Galbraith
2007-03-12 20:38                               ` Con Kolivas
2007-03-12 20:45                                 ` Mike Galbraith
2007-03-12 22:51                                   ` Con Kolivas
2007-03-13  5:10                                     ` Mike Galbraith
2007-03-13  5:53                                       ` Con Kolivas
2007-03-13  6:08                                         ` [ck] " Rodney Gordon II
2007-03-13  6:17                                         ` Mike Galbraith
2007-03-13  7:53                                         ` Mike Galbraith
2007-03-13  8:22                                         ` Ingo Molnar
2007-03-13  8:18                                       ` Ingo Molnar
2007-03-13  8:22                                         ` Mike Galbraith
2007-03-13  9:21                                         ` Con Kolivas
2007-03-13  9:29                                           ` Ingo Molnar
2007-03-13  9:41                                             ` Con Kolivas
2007-03-13 10:50                                               ` Bill Huey
2007-03-13  9:31                                           ` [ck] " Con Kolivas
2007-03-13 10:24                                             ` Xavier Bestel
2007-03-13 23:19                                               ` Sanjoy Mahajan
2007-03-13  9:33                                         ` Mike Galbraith
2007-03-13  9:39                                           ` Ingo Molnar
2007-03-13 10:06                                             ` Con Kolivas
2007-03-13 11:23                                               ` Mike Galbraith
2007-03-13 11:41                                                 ` Serge Belyshev
2007-03-13 11:46                                                   ` Mike Galbraith
2007-03-13 15:36                                                   ` John Stoffel
2007-03-13 14:17                                           ` Matt Mackall
2007-03-13 15:15                                         ` David Schwartz
2007-03-13 17:59                                           ` Jeremy Fitzhardinge
2007-03-13 19:58                                             ` David Schwartz
2007-03-13 20:10                                               ` Jeremy Fitzhardinge [this message]
2007-03-13 20:35                                                 ` Bill Huey
2007-03-13 20:27                                               ` Bill Huey
2007-03-16 16:42                                     ` Pavel Machek
2007-03-12 23:43                                   ` David Lang
2007-03-13  2:23                                     ` Lee Revell
2007-03-13  6:00                                       ` David Lang
2007-03-12 21:34                                 ` [ck] " jos poortvliet
2007-03-12 21:38                                 ` michael chang
2007-03-13  0:09                                   ` Thibaut VARENE
2007-03-13  6:08                                   ` Mike Galbraith
2007-03-13  6:16                                     ` Con Kolivas
2007-03-13  6:30                                       ` Mike Galbraith
2007-03-12 20:42                               ` Peter Zijlstra
2007-03-12 21:05                               ` Serge Belyshev
2007-03-12 21:41                                 ` Mike Galbraith
2007-03-12 11:25                       ` Mike Galbraith
2007-03-12  9:38               ` Xavier Bestel
2007-03-12 10:34                 ` Con Kolivas
2007-03-12 16:38                   ` Kasper Sandberg
2007-03-14  2:25                     ` Valdis.Kletnieks
2007-03-14  3:25                       ` Gabriel C
2007-03-14  9:44                         ` Xavier Bestel
2007-03-12  8:44         ` Mike Galbraith
2007-03-11 14:32   ` Gene Heskett
2007-03-12  6:58     ` Radoslaw Szkodzinski
2007-03-12 11:16       ` Gene Heskett
2007-03-12 11:49         ` Gene Heskett
2007-03-12 11:58           ` Con Kolivas
2007-03-12 16:38             ` Gene Heskett
2007-03-12 18:34               ` Gene Heskett
2007-03-12 19:53 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=45F70540.8090506@goop.org \
    --to=jeremy@goop.org \
    --cc=davids@webmaster.com \
    --cc=linux-kernel@vger.kernel.org \
    /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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).