All of lore.kernel.org
 help / color / mirror / Atom feed
From: Bill Davidsen <davidsen@tmr.com>
To: Linus Torvalds <torvalds@linux-foundation.org>
Cc: Ed Tomlinson <edt@aei.ca>, Gene Heskett <gene.heskett@gmail.com>,
	linux-kernel@vger.kernel.org,
	Andrew Morton <akpm@linux-foundation.org>,
	Lee Revell <rlrevell@joe-job.com>,
	Nicolas Mailhot <nicolas.mailhot@laposte.net>
Subject: Re: [ANNOUNCE] RSDL completely fair starvation free interactive cpu scheduler
Date: Fri, 09 Mar 2007 09:54:12 -0500	[thread overview]
Message-ID: <45F17514.5070509@tmr.com> (raw)
In-Reply-To: <Pine.LNX.4.64.0703082226530.10832@woody.linux-foundation.org>

Linus Torvalds wrote:
> On Thu, 8 Mar 2007, Bill Davidsen wrote:
>   
>> Please, could you now rethink plugable scheduler as well? Even if one had to
>> be chosen at boot time and couldn't be change thereafter, it would still allow
>> a few new thoughts to be included.
>>     
>
> No. Really.
>
> I absolutely *detest* pluggable schedulers. They have a huge downside: 
> they allow people to think that it's ok to make special-case schedulers. 
>   
But it IS okay for people to make special-case schedulers. Because it's 
MY machine, and how it behaves under mixed load is not a technical 
issue, it's a POLICY issue, and therefore the only way you can allow the 
admin to implement that policy is to either provide several schedulers 
or to provide all sorts of tunable knobs. And by having a few schedulers 
which have been heavily tested and reviewed, you can define the policy 
the scheduler implements and document it. Instead of people writing 
their own, or hacking the code, they could have a few well-tested 
choices, with known policy goals.
> And I simply very fundamentally disagree.
>
> If you want to play with a scheduler of your own, go wild. It's easy 
> (well, you'll find out that getting good results isn't, but that's a 
> different thing). But actual pluggable schedulers just cause people to 
> think that "oh, the scheduler performs badly under circumstance X, so 
> let's tell people to use special scheduler Y for that case".
>   
And has that been a problem with io schedulers? I don't see any vast 
proliferation of them, I don't see contentious exchanges on LKML, or 
people asking how to get yet another into mainline. In fact, I would say 
that the io scheduler situation is as right as anything can be, choices 
for special cases, lack of requests for something else.
> And CPU scheduling really isn't that complicated. It's *way* simpler than 
> IO scheduling. There simply is *no*excuse* for not trying to do it well 
> enough for all cases, or for having special-case stuff.
>   
This supposes that the desired behavior, the policy, is the same on all 
machines or that there is currently a way to set the target. If I want 
interactive response with no consideration to batch (and can't trust 
users to use nice), I want one policy. If I want a compromise, the 
current scheduler or RSDL are candidates, but they do different things.
> But even IO scheduling actually ends up being largely the same. Yes, we 
> have pluggable schedulers, and we even allow switching them, but in the 
> end, we don't want people to actually do it. It's much better to have a 
> scheduler that is "good enough" than it is to have five that are "perfect" 
> for five particular cases.
>   
We not only have multiple io schedulers, we have many tunable io 
parameters, all of which allow people to make their system behave the 
way they think is best. It isn't causing complaint, confusion, or 
instability. We have many people requesting a different scheduler, so 
obviously what we have isn't "good enough" and I doubt any one scheduler 
can be, given that the target behavior is driven by non-technical choices.

-- 
bill davidsen <davidsen@tmr.com>
  CTO TMR Associates, Inc
  Doing interesting things with small computers since 1979


  parent reply	other threads:[~2007-03-09 14:51 UTC|newest]

Thread overview: 69+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2007-03-05  9:45 [ANNOUNCE] RSDL completely fair starvation free interactive cpu scheduler Nicolas Mailhot
2007-03-05  9:53 ` Gene Heskett
2007-03-05 10:00   ` Nicolas Mailhot
2007-03-05 15:22   ` Paolo Ciarrocchi
2007-03-05 18:37     ` Gene Heskett
2007-03-05 18:20   ` Lee Revell
2007-03-05 19:19     ` Gene Heskett
2007-03-05 22:40       ` Andrew Morton
2007-03-05 23:19         ` Gene Heskett
2007-03-06  2:23       ` Ed Tomlinson
2007-03-06  2:54         ` Linus Torvalds
2007-03-06  3:36           ` Gene Heskett
2007-03-09  4:04           ` Bill Davidsen
2007-03-09  6:31             ` Linus Torvalds
2007-03-09  7:04               ` Bill Huey
2007-03-09 10:54               ` William Lee Irwin III
2007-03-09 14:54               ` Bill Davidsen [this message]
2007-03-09 18:11                 ` Linus Torvalds
2007-03-06 17:50   ` Bill Davidsen
2007-03-06 20:06     ` Con Kolivas
2007-03-09  4:21       ` Bill Davidsen
  -- strict thread matches above, loose matches on Subject: below --
2007-03-11 22:29 bert hubert
2007-03-11 22:57 ` Con Kolivas
2007-03-08 14:27 Tim Tassonis
2007-03-06  4:57 Shawn Starr
2007-03-04 20:35 Al Boldi
2007-03-04 21:49 ` Con Kolivas
     [not found]   ` <45EB45F7.3050208@simon.arlott.org.uk>
2007-03-04 22:27     ` Con Kolivas
2007-03-05 18:29       ` Simon Arlott
2007-03-05 21:36         ` Con Kolivas
2007-03-04 23:13   ` Willy Tarreau
2007-03-04 23:58     ` Con Kolivas
2007-03-05  1:09     ` Gene Heskett
2007-03-06  8:42 ` [ck] " Xavier Bestel
2007-03-06 15:15   ` Al Boldi
2007-03-11 18:11     ` Al Boldi
2007-03-11 21:52       ` Con Kolivas
2007-03-11 22:12         ` Con Kolivas
2007-03-12  4:42           ` Al Boldi
2007-03-12  4:53             ` Con Kolivas
2007-03-12 11:26               ` Al Boldi
2007-03-12 12:52                 ` Con Kolivas
2007-03-12 14:14                   ` Al Boldi
2007-03-12 14:58                     ` [ck] " jos poortvliet
2007-03-12 17:41                       ` Al Boldi
2007-03-12 18:05                     ` Con Kolivas
2007-03-18  1:30                   ` Bill Davidsen
2007-03-04  7:00 Con Kolivas
2007-03-04  7:45 ` [ck] " Con Kolivas
2007-03-04 14:04   ` Con Kolivas
2007-03-04 11:08 ` Gene Heskett
2007-03-04 11:47   ` Con Kolivas
2007-03-04 12:24     ` Gene Heskett
2007-03-04 12:46       ` Con Kolivas
2007-03-04 13:25         ` Gene Heskett
2007-03-04 13:49           ` Con Kolivas
2007-03-04 14:11             ` Gene Heskett
2007-03-05  2:31               ` Zwane Mwaikambo
2007-03-05  3:16                 ` Gene Heskett
2007-03-04 14:36             ` Willy Tarreau
2007-03-04 16:08               ` [ck] " jos poortvliet
2007-03-05 23:05                 ` Bill Davidsen
2007-03-06  0:18                   ` Con Kolivas
2007-03-06  4:41                     ` Willy Tarreau
2007-03-06  5:39                       ` Nicholas Miell
2007-03-06 19:04                       ` jos poortvliet
2007-03-06 21:37                       ` Bill Davidsen
2007-03-06 21:54                         ` Willy Tarreau
2007-03-05 21:52 ` Con Kolivas
2007-03-08  8:53 ` Ingo Molnar
2007-03-08 10:07   ` Con Kolivas
2007-03-08 20:25 ` Fabio Comolli
2007-03-08 20:57   ` Con Kolivas
2007-03-08 21:31     ` Fabio Comolli

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=45F17514.5070509@tmr.com \
    --to=davidsen@tmr.com \
    --cc=akpm@linux-foundation.org \
    --cc=edt@aei.ca \
    --cc=gene.heskett@gmail.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=nicolas.mailhot@laposte.net \
    --cc=rlrevell@joe-job.com \
    --cc=torvalds@linux-foundation.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 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.