mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
From: Ingo Molnar <mingo@elte.hu>
To: Satyam Sharma <satyam@infradead.org>
Cc: Martin Steigerwald <Martin@lichtvoll.de>,
	ck@vds.kolivas.org, Sam Ravnborg <sam@ravnborg.org>,
	Linus Torvalds <torvalds@linux-foundation.org>,
	Jan Engelhardt <jengelh@computergmbh.de>,
	linux-kernel@vger.kernel.org, lkml@metanurb.dk
Subject: Re: [ck] Re: Linus 2.6.23-rc1
Date: Sun, 29 Jul 2007 22:24:22 +0200	[thread overview]
Message-ID: <20070729202422.GA21894@elte.hu> (raw)
In-Reply-To: <alpine.LFD.0.999.0707300008230.30928@enigma.security.iitk.ac.in>


* Satyam Sharma <satyam@infradead.org> wrote:

> > > So whats wrong then?
> > > 
> > > Ingo decides to do a better scheduler - to some extent inspired by 
> > > Con's work. And after 48 hours he publish first version that 
> > > _anyone_ can see and comment on. Whats wrong with that?
> > >
> > > Did you expect some lengthy discussion before the coding phase 
> > > started or what?
> > >
> > > Just trying to understand what you are arguing about.
> > 
> > If I tried to rewrite a kernel subsystem - should I ever happen to 
> > dig that deep into kernel matters - while I actually know that 
> > someone already spent countless hours on exactly rewriting the exact 
> > same subsystem, I think I would have told that other developer about 
> > it as soon as I started coding on it. And if it just was a
> > 
> > "Hi Con,
> > 
> > I reconsidered the scheduling ideas again you brought to the Linux 
> > kernel world. Instead of using your scheduler tough I like to try to 
> > write a new one with fairness in mind, cause I think this, this and 
> > this can be improved upon.
> > 
> > I would like to hear your ideas about that as soon as possible and 
> > would like you to contribute your ideas and also code, where you see 
> > hit. You can find the git / bazaar / whatever repository where I do 
> > my developments at: someurl.
> > 
> > Regards, Ingo"
> 
> Sending out the code (and early enough, 48 hours /is/ early enough) 
> *is* the normal (and good) way to do exactly the communication you 
> described above, IMHO.

yeah. And note that the time from the "ok, this approach might work" 
point to releasing CFS was even less than the original ~62 hours of CFS 
development.

I dont typically write code because i'm particularly "convinced" about 
an idea or because i "believe in" an idea, i mostly write code to 
_check_ whether an idea is worth advancing or not. Writing code is my 
form of "thinking", and releasing patches is my form of telling others 
about my "thoughts". I might have guesses about how well something will 
work out in practice (and i'd certainly be a fool to go out coding 
blindly), but surprises happen almost always, both in positive and in 
negative direction, and even with relatively simple patches.

CFS started out as an experiment to simplify the scheduler, to clean up 
the after-effects of a better-desktop-scheduling patch Mike Galbraith 
sent me. Had anyone told me at that time that i'd end up writing a new 
scheduler i'd have laughed at the suggestion and i'd have pointed to the 
large number of pending patches of mine in forms of the -rt tree, the 
syslet/threadlet code and other stuff that needs fixing a lot more 
urgent than the task scheduler.

During that cleanup work did i realize how a policy-modularized 
scheduler would allow the bridging of the seemingly unreconcilable 
friction between the O(1) data structures that things like RT scheduling 
needs and the binary tree that "fair share scheduling" concepts dictate. 
(most of the complexity in kernel code like the scheduler derives from 
complexity in data structures, so you start writing code by thinking 
about your data structures.)

And the time from the point where i thought "ok, this fair-share thing 
behaves pretty well and it certainly looks simpler than the current 
code" to the announcement on lkml was more on the order of hours than 
days - much of the 62 hours were spent on ripping out the old code and 
on getting the new design up and running.

There was simply no code in existence before CFS which has proven the 
code simplicity/design virtues of 'fair scheduling' - SD was more of an 
argument _against_ it than for it. I think maybe even Con might have 
been surprised by that simplicity: in his first lkml reaction to CFS he 
also wrote that he finds the CFS code "beautiful":

  http://lkml.org/lkml/2007/4/14/199

and my reply to Con's mail:

  http://lkml.org/lkml/2007/4/15/64

still addresses a good number of points raised in this thread i think.

	Ingo

  parent reply	other threads:[~2007-07-29 20:24 UTC|newest]

Thread overview: 227+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2007-07-22 21:04 Linus Torvalds
2007-07-22 22:10 ` Andre Noll
2007-07-22 22:22   ` Andi Kleen
2007-07-22 23:23     ` Andre Noll
2007-07-22 23:31       ` Andi Kleen
     [not found]         ` <20070722233840.GJ30660@skl-net.de>
2007-07-22 23:56           ` vdso.so mislinked by buggy linker was " Andi Kleen
2007-07-23  6:03             ` Jakub Jelinek
2007-07-23  8:02               ` Andi Kleen
2007-07-23 12:45             ` Jakub Jelinek
2007-07-23 14:44               ` Andi Kleen
2007-07-23  6:07         ` Jakub Jelinek
2007-07-22 23:33 ` Alistair John Strachan
2007-07-22 23:51   ` Roland McGrath
2007-07-23  0:07     ` Adrian Bunk
2007-07-23  0:31       ` Roland McGrath
2007-07-23  1:43         ` Adrian Bunk
2007-07-23  1:20 ` Gabriel C
2007-07-23  1:23 ` Paul Mundt
2007-07-23  1:27   ` Gabriel C
2007-07-23  1:40     ` Paul Mundt
2007-07-23  4:11   ` Greg KH
     [not found] ` <46A40BC7.9030209@googlemail.com>
2007-07-23  2:42   ` Gabriel C
2007-07-23 15:47   ` Bob Picco
2007-07-23 15:54     ` Luck, Tony
2007-07-23  2:48 ` Gabriel C
2007-07-23  7:14 ` alpha, i386,mips,powerpc,ppc,xtensa compile brakage (was Re: Linus 2.6.23-rc1) Jan Dittmer
2007-07-23  7:56   ` Stephen Rothwell
2007-07-23 13:57   ` Josh Boyer
2007-07-23 14:02     ` Gabriel C
2007-07-23  9:50 ` Linus 2.6.23-rc1: ACPI-related oops on x86_64 Mel Gorman
2007-07-23 17:15   ` Len Brown
2007-07-24 10:37     ` Mel Gorman
2007-07-23 15:52 ` Linus 2.6.23-rc1, xen fix Ingo Molnar
2007-07-23 16:43 ` Linus 2.6.23-rc1 Gabriel C
2007-07-23 16:57   ` Ismail Dönmez
2007-07-23 20:44     ` Alessandro Suardi
2007-07-24 14:49       ` Len Brown
2007-07-23 18:38 ` 2.6.23-rc1: BUG_ON in kmap_atomic_prot() Alexey Dobriyan
2007-07-23 19:01   ` Alexey Dobriyan
2007-07-23 20:24     ` Andrew Morton
2007-07-23 20:40       ` Alexey Dobriyan
2007-07-23 21:01         ` Alexey Dobriyan
2007-07-23 21:11           ` Andrew Morton
2007-07-23 21:28             ` Linus Torvalds
2007-07-23 21:37               ` Sam Ravnborg
2007-07-24 17:59               ` Adrian Bunk
2007-07-24 18:14                 ` Linus Torvalds
2007-07-24 18:28                   ` Andrew Morton
2007-07-24 19:15                     ` Linus Torvalds
2007-07-24 19:40                       ` Adrian Bunk
2007-07-24 19:48                         ` Linus Torvalds
2007-07-26 18:07                           ` Adrian Bunk
2007-07-26 18:19                             ` Linus Torvalds
2007-07-24 20:27                       ` Andi Kleen
2007-07-24 19:45                         ` Linus Torvalds
2007-07-26  6:09                   ` commit 7e92b4fc34 - x86, serial: convert legacy COM ports to platform devices - broke my serial console H. Peter Anvin
2007-07-23 22:04             ` 2.6.23-rc1: BUG_ON in kmap_atomic_prot() Alexey Dobriyan
2007-07-23 22:27               ` Andrew Morton
2007-07-24  5:20                 ` Alexey Dobriyan
2007-07-24  8:17                 ` Jens Axboe
2007-07-24  8:22                   ` Jens Axboe
2007-07-24  8:34                     ` Andrew Morton
2007-07-24 14:00                       ` Dan Williams
2007-07-24 13:55                     ` Dan Williams
2007-07-24 10:01       ` Mike Galbraith
2007-07-24 10:37         ` Mike Galbraith
2007-07-24 16:28         ` Andrew Morton
2007-07-24 18:25           ` Linus Torvalds
2007-07-24 20:05             ` Alexey Dobriyan
2007-07-25 17:44               ` Cyrill Gorcunov
2007-07-25  5:09             ` Mike Galbraith
2007-07-27 11:43 ` SD still better than CFS for 3d \b(was Re: 2.6.23-rc1) Kasper Sandberg
2007-07-29 17:06   ` SD still better than CFS for 3d ?(was " Ingo Molnar
     [not found]     ` <930f95dc0707291154j102494d9m58f4cc452c7ff17c@mail.gmail.com>
2007-07-29 20:47       ` [ck] " Ingo Molnar
     [not found]         ` <930f95dc0707291431j4e50214di3c01cd44b5597502@mail.gmail.com>
2007-07-30  1:20           ` Matthew Hawkins
2007-07-30 11:46           ` Ingo Molnar
2007-07-30 16:04             ` Miguel Figueiredo
2007-07-30 18:38               ` Ingo Molnar
2007-07-30 21:05                 ` Miguel Figueiredo
2007-07-31 16:36                   ` Ingo Molnar
2007-07-30 16:19             ` david
2007-07-30 19:01               ` Ingo Molnar
2007-07-30 19:03                 ` david
2007-07-30 19:08                   ` Ingo Molnar
     [not found]             ` <op.tv90xghwatcbto@linux.site>
     [not found]               ` <d3380cee0707300831m33d896aufcbdb188576940a2@mail.gmail.com>
2007-07-30 16:25                 ` Matthew Hawkins
2007-07-30 16:50                   ` Peter Zijlstra
2007-07-30 17:09                     ` Kyle Rose
2007-07-30 16:50                   ` Martin Schwidefsky
2007-07-30 16:58                     ` Rashkae
2007-07-30 17:51                   ` Arjan van de Ven
2007-07-30 18:29                   ` Christoph Hellwig
2007-07-30 19:53                     ` [ck] Re: SD still better than CFS for 3d ? Roland Dreier
2007-07-30 21:26                       ` Christoph Hellwig
2007-07-31  3:07                       ` Matthew Hawkins
2007-07-31  7:01                         ` Martin Schwidefsky
2007-07-31 12:13                         ` Christoph Hellwig
2007-08-01  5:25                         ` Adrian Bunk
2007-08-01  6:19                           ` Matthew Hawkins
2007-08-01  7:50                             ` Adrian Bunk
2007-07-30 17:54             ` [ck] Re: SD still better than CFS for 3d ?(was Re: 2.6.23-rc1) Kenneth Prugh
2007-07-30 19:10               ` Ingo Molnar
2007-07-30 21:24                 ` Kenneth Prugh
2007-07-30 21:34                   ` Miguel Figueiredo
2007-07-30 22:45                     ` Kenneth Prugh
2007-07-31  9:45                   ` Ingo Molnar
2007-07-31 13:16                     ` Matthew Hawkins
2007-07-31 13:32                       ` Miguel Figueiredo
2007-07-31 14:09                         ` Ingo Molnar
2007-07-31 15:57                         ` Matthew Hawkins
2007-07-31 16:23                           ` Miguel Figueiredo
2007-07-31 17:02                             ` Matthew Hawkins
2007-07-31 14:18                       ` Ingo Molnar
2007-07-31 16:14                         ` Matthew Hawkins
2007-07-31 16:45                           ` Ingo Molnar
2007-07-30 23:46     ` Kasper Sandberg
2007-07-31  6:31       ` Peter Zijlstra
2007-07-31  8:57         ` Ingo Molnar
2007-07-31  9:11           ` Alan Cox
2007-07-31  9:13             ` Ingo Molnar
2007-07-31  9:19               ` Avi Kivity
2007-07-31  9:44                 ` Alan Cox
2007-08-01 23:43           ` Kasper Sandberg
2007-08-02 12:10             ` Ingo Molnar
2007-08-02 15:42               ` Ingo Molnar
2007-08-08 14:38                 ` Kasper Sandberg
2007-08-03  6:31               ` Ingo Molnar
2007-08-02  2:35           ` Lee Revell
2007-08-02 11:45             ` Ingo Molnar
2007-08-02 13:39               ` Trond Myklebust
2007-08-02 13:03             ` J. Bruce Fields
     [not found]       ` <op.twbll7ugatcbto@linux.site>
2007-07-31  8:32         ` [ck] " Ingo Molnar
2007-07-28  2:04 ` Linus 2.6.23-rc1 Kasper Sandberg
2007-07-28  2:35   ` Linus Torvalds
2007-07-28  7:09     ` [ck] " Grzegorz Kulewski
     [not found]       ` <954c7c800707280045t4607cebfj532ef025a7a57c05@mail.gmail.com>
2007-07-28 17:12         ` Linus Torvalds
2007-07-28 17:33           ` Jan Engelhardt
2007-07-28 18:05             ` Linus Torvalds
2007-07-28 20:51               ` Diego Calleja
2007-07-28 20:59                 ` Jan Engelhardt
2007-07-29  5:04                   ` Roland Dreier
2007-07-28 21:09                 ` Linus Torvalds
2007-07-28 22:16                   ` Alex Besogonov
2007-07-29  9:37                   ` Martin Steigerwald
2007-07-29  9:04               ` Martin Steigerwald
2007-07-29 10:28                 ` Sam Ravnborg
2007-07-29 10:56                   ` Martin Steigerwald
2007-07-29 17:42                     ` Sam Ravnborg
2007-07-29 18:23                       ` Martin Steigerwald
2007-07-29 18:54                         ` Satyam Sharma
2007-07-29 19:18                           ` Martin Steigerwald
2007-07-31  1:15                             ` Carlo Florendo
2007-07-31  9:57                               ` Bill Huey
2007-07-31 12:00                                 ` Mike Galbraith
2007-08-01  2:54                                 ` Carlo Florendo
2007-07-29 20:24                           ` Ingo Molnar [this message]
2007-07-29 19:25                         ` Sam Ravnborg
2007-07-29  8:42           ` Martin Steigerwald
2007-07-29  9:25           ` Tomas Carnecky
2007-07-28  7:36     ` Matthew Hawkins
2007-07-28 10:40       ` Martin Steigerwald
2007-07-28 16:10         ` Reporting bugs (was Re: [ck] Re: Linus 2.6.23-rc1) Stefan Richter
2007-07-28 16:21           ` Michal Piotrowski
2007-07-28  9:44     ` Linus 2.6.23-rc1 Kasper Sandberg
2007-07-28 17:50       ` Linus Torvalds
2007-07-28 18:07         ` Kasper Sandberg
2007-07-28 19:13         ` Jan Engelhardt
2007-07-28 19:34           ` Linus Torvalds
2007-07-28 21:33             ` Linus Torvalds
2007-07-28 21:55               ` Jan Engelhardt
2007-07-28 22:22                 ` Linus Torvalds
2007-08-01  9:21             ` Jan Engelhardt
2007-07-28 10:05     ` [ck] " Martin Steigerwald
2007-07-28 11:06       ` Dirk Schoebel
2007-07-28 13:18     ` Michael Chang
2007-07-28 17:25       ` Linus Torvalds
2007-07-28 18:03         ` jos poortvliet
2007-07-28 18:28           ` Linus Torvalds
2007-07-28 19:28             ` jos poortvliet
2007-07-28 20:07               ` Bill Huey
2007-07-28 21:06                 ` Diego Calleja
2007-07-28 21:32                   ` Bill Huey
2007-07-28 22:18                     ` Linus Torvalds
2007-07-29  1:00                       ` Bill Huey
2007-07-29 14:31                         ` Diego Calleja
2007-07-29 18:31                           ` Martin Steigerwald
2007-07-29 20:25                           ` Mike Galbraith
2007-07-29 21:48                             ` Bill Huey
2007-07-30  5:03                               ` Mike Galbraith
2007-08-07  6:55                   ` Daniel Phillips
2007-08-07 15:33                     ` Alan Cox
2007-07-28 20:31               ` Linus Torvalds
2007-07-29  0:03                 ` Con Kolivas
2007-07-29  1:23                   ` Charles philip Chan
2007-08-01  4:17                 ` Roman Zippel
2007-08-01  5:46                   ` Carlo Florendo
2007-08-01  6:16                     ` Hua Zhong
2007-08-01  7:05                       ` [ck] Re: Linus 2.6.23-rc1 -- It does not matter who's code gets merged! Arjan van de Ven
2007-08-01  7:12                         ` Carlo Florendo
2007-08-01  8:14                         ` jos
2007-08-01 14:02                           ` Arjan van de Ven
2007-08-01 18:40                             ` Hua Zhong
2007-08-01 22:04                               ` Arjan van de Ven
2007-08-02 15:22                         ` Andrea Arcangeli
2007-08-02 20:03                         ` Frank Ch. Eigler
2007-08-02 20:05                           ` Arjan van de Ven
2007-08-02 20:33                             ` Frank Ch. Eigler
2007-08-04  8:04                           ` [ck] Re: Linus 2.6.23-rc1 -- It does not matter whose " Daniel Phillips
2007-08-01  7:09                       ` [ck] Re: Linus 2.6.23-rc1 Carlo Florendo
2007-08-01 12:31                       ` Alan Cox
2007-07-28 21:07     ` Jory A. Pratt
2007-07-29 15:04   ` Ingo Molnar
2007-07-29 23:04     ` George Sescher
2007-07-29 23:18       ` Linus Torvalds
2007-07-29 23:38         ` George Sescher
2007-07-29 23:58           ` Linus Torvalds
2007-07-30  5:12         ` [ck] " Matthew Hawkins
2007-07-31 10:05         ` Bill Huey
2007-07-31 14:04           ` Ingo Molnar
2007-07-31 15:44           ` Linus Torvalds
2007-07-30  6:44       ` Ingo Molnar
2007-07-30  7:06         ` George Sescher
2007-07-30  7:55           ` Ingo Molnar
2007-07-30  9:26             ` George Sescher
2007-07-30 10:26               ` Ingo Molnar
2007-07-30 16:13     ` Kasper Sandberg
2007-07-28 14:52 ` Ronni Nielsen
2007-07-28 17:30   ` Linus Torvalds

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=20070729202422.GA21894@elte.hu \
    --to=mingo@elte.hu \
    --cc=Martin@lichtvoll.de \
    --cc=ck@vds.kolivas.org \
    --cc=jengelh@computergmbh.de \
    --cc=linux-kernel@vger.kernel.org \
    --cc=lkml@metanurb.dk \
    --cc=sam@ravnborg.org \
    --cc=satyam@infradead.org \
    --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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox

all inboxes | Powered by JetHome®