Slashdot Mirror


Torvalds Explains Scheduler Decision

Firedog writes "There's been a lot of recent debate over why Linus Torvalds chose the new CFS process scheduler written by Ingo Molnar over the SD process scheduler written by Con Kolivas, ranging from discussing the quality of the code to favoritism and outright conspiracy theories. KernelTrap is now reporting Linus Torvalds' official stance as to why he chose the code that he did. 'People who think SD was "perfect" were simply ignoring reality,' Linus is quoted as saying. He goes on to explain that he selected the Completely Fair Scheduler because it had a maintainer who has proven himself willing and able to address problems as they are discovered. In the end, the relevance to normal Linux users is twofold: one is the question as to whether or not the Linux development model is working, and the other is the question as to whether the recently released 2.6.23 kernel will deliver an improved desktop experience."

97 of 411 comments (clear)

  1. Re:Nerds by kcbanner · · Score: 5, Funny

    Everyone except you.

    --
    Obligatory blog plug: http://www.caseybanner.ca/
  2. Re:good for you by RebelWebmaster · · Score: 2, Interesting

    Hasn't Linus already said he's very interested in adding it into the Linux kernel (going so far as to say that it could be a reason to consider going GPLv3 in the future if Sun releases Solaris under it), but right now it's tied up in closed source?

  3. Linus as the benevolent dictator again by Anonymous Coward · · Score: 5, Insightful

    As it seems many others don't agree to his opinions of Con, http://lkml.org/lkml/2007/7/27/426

    1. Re:Linus as the benevolent dictator again by Bin+Naden · · Score: 3, Insightful

      As Linus explained, he has tough decisions to make and the fact that CFS beat out SD this time, doesn't mean it will remain that way in future releases. Con should have sucked it up and worked harder on his scheduler.

      --
      There should be a "-1:Groupthink"
    2. Re:Linus as the benevolent dictator again by Professor_UNIX · · Score: 4, Insightful

      If you don't like the way he's running the project you're free to fork the kernel and assemble your own team. Sound like too much work for too little in return? Welcome to his world.

    3. Re:Linus as the benevolent dictator again by Plaid+Phantom · · Score: 5, Funny

      Linus throws anecdotes. Gates throws money. Balmer throws chairs.

      --
      All comments are properties and trademarks of the voices in my head. Not like I'm gonna claim them.
    4. Re:Linus as the benevolent dictator again by schon · · Score: 2, Interesting

      Con never claimed SD was perfect. Care to share with the group where exactly Linus says he did? You use the words "utter shit" - seems that it's something you know a lot about. Or do you enjoy building straw men?

      it's quite disgusting to see Linus make such sweeping statements to the contrary. Sadly, since Linus' word is gospel - even if he is speaking utter shit Funny, I read the email exchange, and I can't see *anyone* telling Linus that he's speaking "utter shit" - So why is it that if Linus is (as you claim) lying through his teeth about events that happened, that nobody calls him on it?

      Linus pointed out problems with Con dismissing other people's problems, and nobody says "oh, that didn't happen" - except you. In fact, the general response was "well, that didn't happen very often."

      Similarly, even people who are attacking Linus say that Ingo acted the way Linus says he acted in the same situation - in other words the main reason Linus rejected SD is confirmed by the very people who are arguing for SD.

      then Con will get publicly slammed by people like you who think it's fine to comment on what they don't know about So it's OK for you to do it about Linus, but it's not OK for someone to do it about Con? Somehow the words "Pot. Kettle. Black." come to mind.
    5. Re:Linus as the benevolent dictator again by Anonymous Coward · · Score: 4, Informative

      Con never claimed SD was perfect.
      Care to share with the group where exactly Linus says he did?
      In the article. That's the whole point of the article:

      "People who think SD was 'perfect' were simply ignoring reality," Linus Torvalds began in a succinct explanation as to why he chose the CFS scheduler written by Ingo Molnar instead of the SD scheduler written by Con Kolivas. He continued, "sadly, that seemed to include Con too"
    6. Re:Linus as the benevolent dictator again by Frankie70 · · Score: 2, Insightful


      Con should have sucked it up and worked harder on his scheduler.

      And what would have been his reward for that.

    7. Re:Linus as the benevolent dictator again by MrNaz · · Score: 5, Insightful

      Why are people so willing to say "deal with Linux and its failures or make use of one of your many alternatives" in response to genuine missteps by the Linux Dev community, yet people carry on about MS in some masochistic self-inflicted orgy of bitchiness.

      If you're so hell bent on bringing MS's flaws into the bright light of community awareness, then stand up, be a fucking man, and apply that same attitude to Linux, or one day you'll wake up and Linux will be just as big a bug ridden piece of shit thanks to you stripping away the very system of honest objective peer review that has kept both the codebase and community bug free.

      --
      I hate printers.
    8. Re:Linus as the benevolent dictator again by ScrewMaster · · Score: 2, Funny

      ... and Windows throws exceptions. So what else is new?

      --
      The higher the technology, the sharper that two-edged sword.
    9. Re:Linus as the benevolent dictator again by Anonymous Coward · · Score: 5, Informative

      Here is what Linus said in lkml

      lkml full quote of Linus:
      > People who think SD was "perfect" were simply ignoring reality. Sadly,
      > that seemed to include Con too, which was one of the main reasons that I
      > never ended entertaining the notion of merging SD for very long at all:
      > Con ended up arguing against people who reported problems, rather than
      > trying to work with them.
      (from Linus's post to lkml)

      The other misrepresentation is in this quote
      > As a long-term maintainer, trust me, I know what matters. And a person who
      > can actually be bothered to follow up on problem reports is a *hell* of a
      > lot more important than one who just argues with reporters.
      Because Kolivas was quite good with feedback--arguably better than Ingo or Linus (for example with Linus vs. SCSI-emulation cdrecord)--and recently had the single instance to which Linus refers. Ironically, Kolivas rejected a request to have code renice X processes for the same reason Linus rejected a request to keep SCSI emulation as de-facto: the design and code is cleaner and more correct. In fact, while Con would argue about small design issues and change his views, this renicing instance (some people called out as trolling because of the insistence and seeming insincerity) is the only time I've seen Con (and I have followed his work since he started) flatly and repeatedly reject a request.

      There is merit in Linus's argument that a comparison of CFS and SD showed no "significant difference" in performance.

      My personal take is that several years of minor spats between Ingo and Con made a better -ck patchset and -mm patchset, but never brought -ck closer to mainline. It came down to the good-old-boy system where Linus knew and trusted Ingo better than Con, and if there was a major disagreement, Ingo's side would be favored. But, honestly, Linus could also be considering that Ingo's resume has always been a programmer's resume (even if Ingo was one of the youngest maintainers at his start) while Con is a self-taught programmer (just to improve kernel responsiveness nonetheless!) with a primary passion as a physician. If Con decides not to continue with the -ck patchset, I am sure he will refocus the extra dedication and time to new patients.

    10. Re:Linus as the benevolent dictator again by Hal_Porter · · Score: 2, Insightful

      He said Con wasn't following up on bug reports wheras Ingo did. In commercial terms he sacked Con and moved hi responsibilities to Ingo who he trusts.

      And he was right to do so - if people don't want to support their code it's useless no matter how elegant it is.

      --
      echo -e 'global _start\n _start:\n mov eax, 2\n int 80h\n jmp _start' > a.asm; nasm a.asm -f elf; ld a.o -o a;
    11. Re:Linus as the benevolent dictator again by makomk · · Score: 2, Informative

      Con's scheduler had been under development for years, and had been tested and tweaked for good performance. The scheduler that was merged into mainline was basically written from scratch by Ingo in a couple of days, but IIRC was in line for merging from the start, despite the lack of testing.

    12. Re:Linus as the benevolent dictator again by FreeGamer · · Score: 5, Interesting

      OMG people even have to steal comments these days?

      I wrote this comment on kerneltrap.

      Christ, that's incredible. Nice one "bconway".

    13. Re:Linus as the benevolent dictator again by James+Lewis · · Score: 3, Interesting

      Out of curiosity, were there ever any benchmarks between the two schedulers, or is their comparison completely theoretical? And why does it matter if Con can maintain it or not? Why couldn't Ingo maintain Con's scheduler? He's getting paid right?

    14. Re:Linus as the benevolent dictator again by microbee · · Score: 2, Insightful

      Con HAS sucked it up for many years - he has maintained his scheduler work out of mainline tree for a very long time. The fact is that to merge any work that touches Ingo's code, you need Ingo's bless, and Ingo simply wasn't interested or convinced that his scheduler was worse by design, and as such he refused to replace his code with Con's and always wanted to "improve the existing code".

      Then one day SD appears and Ingo suddently announced his version of a fair scheduler, and after so many years of hard work Con simply found out that it was impossible to get his work merged or acknowledged respectively. He was pretty much bypassed by the Linus - Ingo DirectMerge feature.

  4. For those of us who are not kernel hackers, by MoOsEb0y · · Score: 4, Interesting

    What do CFS and SD stand for in this case? The summary and linked articles do not describe this.

    1. Re:For those of us who are not kernel hackers, by larry+bagina · · Score: 5, Informative

      CFS = completely fair scheduler

      SD = staircase deadline.

      That probably didn't clarify anything :/

      --
      Do you even lift?

      These aren't the 'roids you're looking for.

  5. seeming to care is a big deal by acidrain · · Score: 4, Insightful

    Having had my fair share disagreements with customers over technical issues, it just isn't worth trying to "win." The damage to your working relationships is still there even if you are shown to be 100% right. Try and help them address their problems as much as you possibly can, while trying to compromise as little as possible of the design. It's called diplomacy, and it's the difference between being given huge amounts of responsibility, and wanting to quit. You don't even have to agree with them, you just have to make them think you care.

    Finally, it is common for programmers to try to avoid a subset of the problems in an area because it gives them the ability to write something "correct." Certainly a very satisfying experience for a programmer. However, that is exactly why it can be a bad idea to let a programmer rewrite a messy module. Very soon you can find the users of that module asking why a laundry list of things don't work anymore and an idealist developer trying to argue that they shouldn't... And it is exactly those idealists that like to rewrite working code. Not that major rewrites are bad, just that they have to be approached by someone mature enough to both expect a list of things they overlooked, and be willing to work with customers to resolve them.

    --
    -- http://thegirlorthecar.com funny dating game for guys
    1. Re:seeming to care is a big deal by Anonymous Coward · · Score: 5, Insightful

      From the discussion it seems that Con Kolivas tried very hard to do what you're describing and ultimately had to tell off a single guy who kept harassing him after receiving much, much reasonable treatment and accomodation. Businesses do this all the time.

      It also seems that Linus was tricked into torpedoing Con by people who gave him a very warped account of Con's actions. Either Linus got played and turned into a political tool of some anti-ck people, or he's making it appear that way to seem like an innocent victim. Linus evidently screwed up big-time here... but that should be expected from time to time.

  6. Re:good for you by larry+bagina · · Score: 4, Informative

    It's not closed source. It's available as part of OpenSolaris (CDDL). FreeBSD didn't have a problem integrating it.

    --
    Do you even lift?

    These aren't the 'roids you're looking for.

  7. Re:Nerds by Anonymous Coward · · Score: 3, Funny

    Actually, I have no idea how an OS works and even _I_ know what this article is about.

  8. Re:good for you by Anonymous Coward · · Score: 5, Funny

    I'm sorry but the flame wars over whether you call it zee eff ess vs. zed eff ess would make the vi vs. emacs flamewar look like a watergun fight. It would likely tear the Linux project apart as radical Zeddites suicide bomb the Zee Alliance.

  9. Linus wins by default by heinousjay · · Score: 2, Insightful

    The guy walked away. It's like quitting the Internet. Obviously if your reaction is to take your ball and go home (and I know, the ball is everybody's in this situation, but go with it) then you aren't mature enough to handle the responsibility Linus requires.

    --
    Slashdot - where whining about luck is the new way to make the world you want.
    1. Re:Linus wins by default by arivanov · · Score: 5, Insightful

      Well...

      If we look at the core linux developers every single one of them has been flamed into a crisp by Linus on the average every few years (and some of them flamed back in turn). Every single one of them has had something turned down in flames and an alternative merged as well (in some cases Linus admitting that he made the wrong choice later). And I cannot recall anyone of them behaving like such a hissy primadonna.

      Similarly, I have flamed people in a crips at work, I have been flamed back and I still work with this people 8+ years later. In some cases we have even come again to the same company and the same team to work together. It is just software, it is just a job and any code you have ever written can and would be ripped out by the project leader one day to be replaced by something else. Accepting this as a given is a sign of maturity. If you cannot do that, you are not mature enough to maintain a critical part of a software project. You should go away and play with toys in the sandpit for a while until you grow up.

      Sorry, the guy does not get a bit of my sympathy.

      --
      Baker's Law: Misery no longer loves company. Nowadays it insists on it
      http://www.sigsegv.cx/
    2. Re:Linus wins by default by Anonymous Coward · · Score: 5, Insightful

      This is a nonsense idea of a way of life. Life's too short to carry on with a task that is thankless, has lost its enjoyment, and has taken a toll on your health and relationships. Have you even read Con's side?

      There is no taking of balls home, just a clash with the monster egos of the Linux kernel. Don't question Con's maturity because he's made a decision to change his life. This in itself makes you sound seventeen and with no experience of life. There may be two sides to this story, so I won't make a judgement yet, but Linus has hardly shown himself to be broad and balanced in the past, has he?

      The uncontrollable ego and senseless flaming that is associated with programming is nothing to be proud of and a block to new blood and new personality types (like Con's) getting involved, leaving us with this self-perpetuating industry of arrogant computer scientists attracting nothing but other arrogant computer scientists who are unmoved in by, and ignorant of, what their users want. Fine if you live in a bubble, but doomed by natural selection.

    3. Re:Linus wins by default by QuantumG · · Score: 4, Insightful

      Con finished what he started. He produced a bunch of code and people can choose to take it or leave it. hehe, that's not the way the kernel works. If you don't wanna stick around and maintain it, they don't want it.
      --
      How we know is more important than what we know.
    4. Re:Linus wins by default by Anonymous Coward · · Score: 5, Insightful

      I love it when web denizens who know only how to code 'html' love to bring in their views of someones motives.

      Con didnt take his ball and go home, he finished what he started, did a damn fine job and is now moving to something else in his life which is going to be hard for computer geeks to understand.
      The man does not live and breath technology, its just a hobby. By profession he is a doctor; a specialist in anaesthesia.

      I got to know him when he was working on a benchmarking tool called Contest and truly is a renaissance man. I appreciate Stallman's knowledge of french, spanish, and of literature but he is a computer geek first and foremost.
      Con will probably take up some other intellectual challenge like he did coding and be good at it too. He doesnt NEED to do just this and many cannnot grasp that.

      Life is really too short to deal with egos when you are talented and have full of interests.

      Doctor Colivas will do just fine.

    5. Re:Linus wins by default by arivanov · · Score: 2, Insightful

      I recall him admitting being wrong after coming on the side of Al Viro in some of the legendary Viro vs devfs and similar flamewars. As far as links, I need to remember the actual case to search for it, but I clearly remember him admitting being wrong on more than one occasion and apologising.

      Sorry for not being able to be more exact, I have stopped following LKM around Y2K and the last time I have had any brush up with lk-?? lists was when reporting the fundamental bind/connect/send vs bind/sendto cockup in ipv4/udp.c 3-4 years ago.

      Which by the way reminds me that Linus has one more point here. Selfselecting lists on one special subject suck. Based on trying to report the aforementioned ipv4/udp.c bogousity to linux-net I would absolutely agree with him here. It all went /dev/null as some "nobody" from outside the special selected club was reporting something not worthy of the divine attention of the deities. I did not get flamed "ab persona", I just got ignored. That hardly ever happens when posting questions or bug reports on lkm. You may get flamed, but someone generally looks at it.

      --
      Baker's Law: Misery no longer loves company. Nowadays it insists on it
      http://www.sigsegv.cx/
  10. Re:good for you by whoever57 · · Score: 2, Insightful

    nobody cares about the scheduler. I do care about the lack of ZFS support.
    Get over your personal issues already. I was able to improve the performance of a file server by changing the I/O scheduler from the default. I care!
    --
    The real "Libtards" are the Libertarians!
  11. Re:good for you by RebelWebmaster · · Score: 2, Interesting

    Is CDDL compatible with GPLv2? I may have mispoke in my first post, but I think the gist of what I was trying to say is still there. ZFS is behind a license which isn't compatible with the license Linux is under. Or am I completely misunderstanding things? I'll admit I'm far from an expert on these matters...

  12. Re:Nerds by larry+bagina · · Score: 3, Funny

    If you don't know what a cpu scheduler is, you are not slashdot's target audience

    Look at the front page much?

    --
    Do you even lift?

    These aren't the 'roids you're looking for.

  13. Re:Linus, Games are important! by MBCook · · Score: 3, Insightful

    Number one can't be done some times. You may want Linux on the desktop, but at this point it is big on the server. It is used for a LOT of important stuff. If a scheduler makes games better but hurts general server performance, they just can't put that in without people eithe forking or switching. Now if it improved games and other desktop usage quite a bit but had a tiny effect on servers, that could be tennable. But if the effect wasn'nt tiny, they just couldn't blindly merge it.

    All that said Linus makes a good argument. If the guy wasn't addressing problems well and was just arguing "that's not my scheduler's fault" or "prove that's a big problem" etc instead of working with people, there is a very good reason not to merge the code. Ingo wrote his quick and has spent lots of time with people since he did that working with others to find and fix problem workloads. He just seems to have been much more responsible about maintaining his scheduler and it's good performace.

    There are trade-offs in evertying, and it sounds like Linus made a perfectly valid one here.

    --
    Comment forecast: Bits of genius surrounded by a sea of mediocrity.
  14. "desktop experience" by drDugan · · Score: 2, Interesting

    which kernel scheduler is pretty low on the list of factors affecting what the Linux desktop experience is all about...

    frankly, really high quality experiences take organizational planning and leveraging the expereince of huge groups in way that the "bazzaar" model of software developemnt in open source does not do well. Would someone please just build a mutual benefit corporation for open source users and maintainers? Let's start paying for project managers and the other experienced professionals required to make a "desktop experience" and you will see Linux take over.

  15. recently released 2.6.23 kernel? by loserMcloser · · Score: 2, Informative

    The official kernel site says 2.6.23 is only on release candidate 1.

  16. I find him rather rude by bogaboga · · Score: 4, Interesting

    Having lurked on http://www.lkml.org/ for several years, I find Linus to be rather rude. May be it's because English is not his first language...so words are not well chosen. I must say though, that I excuse him because he produces, [or helps produce] a very useful product on the world today. That is the Linux kernel.

    1. Re:I find him rather rude by Anonymous Coward · · Score: 5, Informative

      I think the apparent rudeness stems from something deeper than a mere incomplete mastery of english.

      Linus is (as I am) a Finn by birth. No matter how long he has been abroad, he still follows Finnish habits and speech patterns at least to a degree. And they differ significantly from the west european tradition. For example, small talk is considered unnecessary or even rude in some situations. Getting to the point is a virtue in any conversation. To someone not familiar with this pattern, it will sound unfriendly! It's a two-way street: to me many english speakers sound terriby smarmy and guarded.

      Of course, Linus is apparently also rather clever. The downside of cleverness is for many having little tolerance for fools, real or percieved.

      An AFC (Anonymous Finnish Coward)

    2. Re:I find him rather rude by Just+Some+Guy · · Score: 5, Funny

      I must say though, that I excuse him because he produces, [or helps produce] a very useful product on the world today. That is the Linux kernel.

      You're going to love this Theo guy, then.

      I keed, I keed.

      --
      Dewey, what part of this looks like authorities should be involved?
    3. Re:I find him rather rude by rob1980 · · Score: 2, Funny

      Anybody want to claim themselves as an AFLAC (Anonymous Finnish Latin-American Coward)?

    4. Re:I find him rather rude by Anonymous Coward · · Score: 2, Interesting

      It can be difficult to be sure whether you really do get along or not. I'm also a Finn but grew up abroad and moved here when I was 16. I do speak the language fluently since I spoke it with my parents at home but I got quite a culture shock when I moved here. At first I constantly had the feeling that I must've said something inappropriate or offended someone if people around me were quiet but eventually I've learnt to accept that it's not necessary to constantly engage in a more or less pointless conversation. People here say precisely what they mean, which in a sense is convenient but can feel very harsh at times (i.e. you rarely need to try to guess what somebody means but it's hard to judge the "magnitude" of an objection). My greatest problem is probably that if I disagree with someone I'd like to give a subtle hint first but nobody gets it if I and if I say explicitly what I mean, I feel like I'm making too much of an issue over something that is relatively minor.

    5. Re:I find him rather rude by drerwk · · Score: 5, Interesting

      I had the pleasure of visiting Helsinki for work for 6 weeks in deep winter. The Finns are terrific. My favorite mannerism is when you get bumped on the sidewalk which is of course very icy, in the morning walk to work crowd, and fall on your behind. The polite response is a half laugh/cough "Ho!". No help up, no sorry, just "Ho!". At first, when it was me, I thought it was personal and rude. But I saw some poor lady get exactly the same treatment. Everyone was treated the same.

      During the same trip I saw the Gulf of Finnland freeze. First salt water body I've seen freeze. And the Finns were thrilled because now the drive to Tallinn was a mere 80 mi round trip, and the booze in Tallinn is tax free.

      Ooksie isso olute kiitose...pardon my phonetic spelling

    6. Re:I find him rather rude by Johnno74 · · Score: 3, Interesting

      I second that. I've worked with Finnish guys, and thats just the way they are. Its not that they are rude, its just that they don't care so much about being polite.

      This might trample on a few toes but it sure gets the job done.

    7. Re:I find him rather rude by Anonymous Coward · · Score: 4, Informative

      No help up, no sorry, just "Ho!". That's "oho!", not "ho!". It's a bit like "ohh!" or something, i think.

      And I don't know if it's only here in Finland, but generally whenever we fall we just try to get up as fast as possible, proceed with whatever we were doing acting like nothing happened, and hope that nobody noticed this embarrassing situation. So somebody helping us up and repeatedly saying how sorry he/she is would just make it worse ;)

      -- Another Anonymous Finnish Coward
    8. Re:I find him rather rude by Vellmont · · Score: 2, Insightful


      Having lurked on http://www.lkml.org/ for several years, I find Linus to be rather rude.

      I think you mistake brutal honesty for rudeness. The post referenced is a bit harsh, but it's honest and to the point about how he feels. Politeness can often get in the way of expressing a point. That's not to say politeness isn't a valueable skill at all, it certainly is for a salesman or customer service person. I can be for many jobs, but being to the point is often more valueable in science and technology.

      I don't read lkml very often, but from what I've read I think Linus is just strong willed about the things he has strong feelings for. Politeness has the potential to spill over into letting "bad" code into the kernel. Politeness can also hide peoples true intentions, which for anyone that just wants to understand the value system used to judge an idea can be maddening.

      Imagine a scenario where there's a pushy person who overwhelms a person with a polite instinct. The polite person might just eventually give in instead of stating harsh realities defending what they believe to be the best idea. The pushy person might never learn why the polite person won't just accept what they think is right. It's not the best option for an honest discussion.

      Anyway, I think you need to look at the situation as a discussion about what the best code is, and who does the best job at producing that code. Falling in love with your code (or anything you produce really) is a bad idea. It seems the kernel maintainer of the SD scheduler did just that, and Linus is only pointing that out.

      --
      AccountKiller
    9. Re:I find him rather rude by Anonymous Coward · · Score: 4, Insightful

      It's not that they are rude, its just that they don't care so much about being polite.

      Um, no. It's that their definition of polite is not the same as yours.

    10. Re:I find him rather rude by NaugaHunter · · Score: 5, Funny

      For example, small talk is considered unnecessary or even rude in some situations. Getting to the point is a virtue in any conversation.

      All these years I thought I was a social misfit, but apparently I'm just Finnish.

      Boy will my parents be surprised.

      --
      R: That voice. Where have I heard that voice before? B: In about 365 other episodes. But I don't know who it is either.
    11. Re:I find him rather rude by Blakey+Rat · · Score: 3, Funny

      Great, now instead of geeks pretending (or "self-diagnosing") Asperger's Syndrome to gain "geek cred", they'll learn Finnish. Just what we need, a bunch of Finnish-speaking introverts.

    12. Re:I find him rather rude by jibun · · Score: 5, Interesting

      Just to clarify, what you heard as "ho!" was probably the word "oho" which basically means the same as "oops" in English. For some Finnish people, especially for the younger urbanites, this word has replaced the Finnish equivalent for sorry, "anteeks(i)" [UN-tayk-s(ee)], presumably because they are too "busy" to ponder whether the incident was their fault or not. It's like pleading "no contest" :) This behavior is a product of Finland's accelerated post-WW2 urbanization which relinquished the grip of Finland's traditionally quite strict ethics on how you addressed your superiors and peers. You see, the rural societies were quite hierarchical but in the industrialized communities, where sons and daughters of farmers moved to work in factories, the young people declared themselves free of formal speech patterns -- for instance insisting on egalitarian thees and not yous (see http://en.wikipedia.org/wiki/T-V_distinction).

      Unfortunately the current generation, the kids of these baby boomers (the 20 and 30-somethings of today) don't have the same sense of community that their parents had when they grew up, so they have gone over the top and partially lost their moral compass wrt. what is polite enough to be acceptable. There are signs of a counter-phenomenon emerging as a result of the very good economic growth in Finland's telecommunications sector (read: Nokia) which has increased the number of well-off people considerably and made middle class values somewhat fashionable again. Whether this will make people less rude on icy boardwalks, remains to be seen.

      Yksi kuiva siideri, kiitos. Pankille, kiitos.

    13. Re:I find him rather rude by Just+Some+Guy · · Score: 4, Insightful

      I think you mistake brutal honesty for rudeness. [...] Imagine a scenario where there's a pushy person who overwhelms a person with a polite instinct.

      I think you mistake politeness for submissiveness. For example:

      • Rude: This code sucks.
      • Blunt: I don't like this code.
      • Submissive: Well, I could see why you like it, but I'm not sure...
      • Polite: That's an interesting idea, but doesn't quite fit with the approach we're taking. Thank you for your input, though.

      You can be polite and respectful without being a pushover. This is also commonly referred to as "tact".

      --
      Dewey, what part of this looks like authorities should be involved?
    14. Re:I find him rather rude by epine · · Score: 2, Interesting
      • Polite: That's an interesting idea, but doesn't quite fit with the approach we're taking. Thank you for your input, though.

      What you have depicted as polite I would portray as the inscrutible kiss-off of death. Thank you for your input, though.

      When I read Con's resignation screed, he put forward views of determinism I strongly disagree with. Con seems to have missed the news bulletin that adversarial solutions in game theory usually entail mixed strategies (i.e. non-deterministic responses).

      It's usually a bad situation if only pure strategies can be implemented efficiently. The first example I became aware of was polar vs Cartesian coordinates. This is high school stuff. Some calculations are faster in one form than the other. Conversion from one to the other is costly. There is no comfortable place halfway in between. What you want from a scheduler to provide a consistent experience over a wide range of loads are highly efficient optimal cases for emphasizing latency or throughput (whichever the situation demands) and a low-cost method to blend the optimal cases non-deterministically. Non-determinism ensures you never get into that sidewalk gridlock where both parties simultaneously zig when they should have zagged. I once read a paper from the 1960s which advocated hashing symbol tables in compilers non-deterministically so that you never had any single program source which was consistently worst case (nor could an adversary realiably craft one).

      Determinism is known to be a terrible feature in a security system. If you have a remote, battery-operated system which consistently responds to every event, and events can be triggered falsely, it's quite a simple matter to trigger false events until the battery goes dead, which you can be certain of in the first instance it fails to respond. A stochastic response is far harder to mess with: where the probability of response declines with the battery reserve. At what point does the adversary become entirely confident that the battery is dead?

      Deterministic systems are far too sensitive to adversarial manipulation, and I never got the sense reading Con's own words that he has much appreciation for the adversarial nature of providing a balanced response in all scenarios.

      Nor does it help much to split the scheduler. I can see it now. My rotations are slow! You idiot, use polar! My translations are slow! You idiot, use Cartesian! And the middle ground never gets solved.

      There were instincts expressed from Con's side of the fence that left me uncomfortable. In any case, contribution should be measured in ideas, not lines of code.

      I was especially puzzled by claims that Linus was covering up poor decisions in prior kernels in light of the improved algorithm since discovered. In my view the primary responsibility of a kernel maintainer is to never integrate code that won't converge on stability, where the exact nature of the stability offered is pragmatically redefined on a regular basis. If Linus ever had a need to cover something up, it was the VM fiasco, not the O(1) scheduler. The ego involved in suggesting that the aim of the Linux kernel developers is to never release a dominated algorithm (to fall back on game theory terminology) staggers the mind, an affiliative arrogance far beyond any allegation of arrogance personally leveled at Linus himself. I wonder if there has ever been a good thread on lkml concerning projected ego-creep.
    15. Re:I find him rather rude by SerpentMage · · Score: 2, Insightful

      I would add:

          * Constructive: I looked at your code. Here is what is good. And here are the reasons why I am apprehensive about it. The problem that I have is that if I included the code there would be some serious ramifications namely XYZ.

      Here is what most people cannot do. They cannot be constructive because using the arguments they proposed in the constructive it would imply that they would have to change their opinion. Thus people resort to "This code sucks."

      Having written code and looked at code it is hard to have to change your opinion. We all too often fall into a trap, "this is how I did it and thus this is how everyone will do it." I suspect Linus feel into this trap because Con annoyed him personally....

      --

      "You can't make a race horse of a pig"
      "No," said Samuel, "but you can make very fast pig"
  17. RTFA and understand by realdodgeman · · Score: 4, Insightful

    I find Linus' comments very interesting, and very honest. He has good arguments, and to me it seems like he did the right thing. He is even open to change scheduler if someone can prove that SD does a better job than CFS, and get someone reliable to maintain it.

    1. Re:RTFA and understand by arth1 · · Score: 2, Interesting

      As long as it's not anything like the CFQ IO elevator, which has turned out to slow down and increase critical latencies on every system I've tested it on, compared with deadline and anticipatory schedulers. This seems to be especially true for hard working (i.e. underpowered) systems, where the need for a good IO scheduler is higher.
      I know, IO and job scheduling are two different things, but I still hope the "completely fair" naming part is coincidental, and not a promise of similarity.

    2. Re:RTFA and understand by the_greywolf · · Score: 2, Informative

      A few moments ago, Linus posted a message explaining why he rejected plugsched: He detests politically-motivated code.

      So I absolutely detest adding code for "political" reasons.

      I personally feel that modal behaviour is bad, so it would introduce what is in my opinion bad code, and likely result in problems not being found and fixed as well (because people would pick the thing that "works for them", and ignore the problems in the other module).

      And while I disagree with the choices he made regarding SD and plugsched, I do see his point: Each of those schedulers would become too specialized and would ignore the issues exposed in other workloads. SD works extremely well in most situations, but has trouble in specific high-load server environments. CFS, likewise, has problems with desktop usage. Both developers had different goals.

      (I just think Con met goals beyond his own better than Ingo did.)

      --
      grey wolf
      LET FORTRAN DIE!
    3. Re:RTFA and understand by wellingj · · Score: 3, Interesting
      You should realize that CFS was built around the -rt patch
      The -rt patch will:
      • Make latencies deterministic
      • Reduce latencies if used correctly
      • Add slight over head to overall througput
      I think once the -rt patch is merged into the mainline it will work wonders
      for games and all sorts of other important things, like industrial automation,
      automated stock trading, and other high-speed data acquisition and processing.
      So there is a road map to improve scheduling. In fact it's actually a broader and
      more appealing plan than just scheduling for the desktop, IMHO. I think this is what
      Linus is trying to get at in terms of his why he doesn't want a perfect desktop scheduler.
  18. Re:Linus, Games are important! by irwiss · · Score: 5, Informative

    "If a scheduler makes games better but hurts general server performance..."

    IIRC that is the reason Con together with another person, whose name I can't
    can't be bothered to look up, wanted to merge plugsched to which they got a
    reply along the lines of "too much choice will split contributors" or some such

    And then Ingo turns around on himself, and claims something along the lines of
    "Oh okay, you should work on plugsched, may be it'll get merged"

  19. tfa shows "interesting" view into Linus's outlook by Anonymous Coward · · Score: 5, Insightful

    It's an interesting set of emails. In addition to admitting that he actually didn't have any problem with the SD code, Linus points out that he made a gut call that Con is difficult to deal with without even looking into it because, apparently on near religious grounds, he doesn't believe in reading "specialized" mailing lists. What i find of concern is that he'd express such strong opinions about people basically without having even spent an hour or two browsing some list archives. Further, he seems perfectly aware that he may have heard just one side of the story, and yet he STILL doesn't feel he needs to look into it further or to soften his view? WTF ?

    Has Linux kernel development always been this ... arbitrary ?

    From TFA (actually form the quoted emails) after several mails where Linus has been bashing this Con Kolivas guy for not taking feedback and being argumentative, and then offers some statements about the virtues of a good maintainer some guy "Kasper Sandberg" asks him:

    "Okay, i wasn't going to ask, but i'll do it anyway, did you even read the
    threads about SD?"

    to which Linus responds:

    "I don't _ever_ go on specialty mailing lists. I don't read -mm, and I
    don't read the -fs mailing lists. I don't think they are interesting.

    And I tried to explain why: people who concentrate on one thing tend to
    become this self-selecting group that never looks at anything else, and
    then rejects outside input from people who hadn't become part of the 'mind
    meld'.

    That's what I think I saw - I saw the reactions from where external people
    were talking and cc'ing me.

    And yes, it's quite possible that I also got a very one-sided picture of
    it. I'm not disputing that.
    "

  20. Damn right the desktop experience is improved! by Anonymous Coward · · Score: 3, Interesting

    You can be pretty damn right that the desktop experience is improved with Ingo Molnar's scheduler! If you have done any serious audio work on any platform you know that Linux kernel + Ingo Molnar's IO scheduler = the best platform for serious audio work. This combination has the lowest latencies. Linux kernel+Ingo Molnar's IO scheduler+Ardour offers currently lowest latencies and the best of all - it's completely free! It is pretty amazing - really. Every true professional audio engineer will agree with me.

    1. Re:Damn right the desktop experience is improved! by Blakey+Rat · · Score: 2, Interesting

      But would it have been equally improved using Con's CFS? You aren't telling both sides of the story. (Which is fine, if you've only tried the one scheduler. But this topic is about the decision to use Ingo's rather than Con's.)

  21. Re:Nerds by Tadrith · · Score: 5, Insightful

    That's not really fair. Slashdot pretty much covers all things science, be it computer science, or quantum physics. There are frequently articles posted which I, being in the field of computer science, do not necessarily understand or comprehend. I'm not going to tell all of the quantum physicists out there that "slashdot is not the place for them" because Slashdot IS for them. While it might have a technical slant to it, I think it's a place for anyone more interested in hearing news of advancements in various scientific fields, rather than what prison Paris Hilton is going to next.

    For that matter, even when I don't understand what an article is talking about, I am still usually more than interested to read about it.

  22. Linus admitted to favoritism by Anonymous Coward · · Score: 5, Insightful

    Whatever way you want to paint it, that's exactly what he did.

    He believes that Ingo is a more reliable maintainer, so he chose Ingo's few-day old hack instead of Con's very mature and well tested scheduler.

    Personally, I think that the person who is at fault here is Ingo, because he has a "Not Invented Here / By Me" mentality, and instead of developing Con's scheduler further, he totally objected to Con's work for ages (which prevented it from getting into mainline), and then suddenly saw the light and wrote his own quick hack based on the same design.

    Ingo may be a good developer and maintainer, but he sure as hell isn't a friendly co-developer.

  23. Why not both? by rm999 · · Score: 4, Interesting

    Why can't there be a flag that determines what scheduler is used at runtime, with both schedulers built into the kernel? I thought the whole point of Linux is that it is customizable and modular - I know this doesn't necessarily apply to the kernel, but why not?

    I know very little about operating systems, schedulers, and maintaining large projects, so please excuse any ignorance in my post ;)

    1. Re:Why not both? by MBCook · · Score: 4, Informative

      Linux doesn't support that, as far as I know. There are variables you can tune though. More on this later.

      Something like that is very risky. Where as a filesystem can be used or not, and the code is only hit when accessing it, the scheduler is used constantly. If the scheduler could be switched at runtime, that means that either you have to have some kind of if statement on every scheduler entry point, or hide it all behind a pointer and a structure. Either one isn't as efficient as just having it hard wired in. You also have the complexities of being able to hand stuff off from one scheduler to another. Also, debugging get much harder (you have problem with slowness X, now which of the 3 schedulers are you using? Which version? What are the variables set to?).

      As for selectable at compile time, that means you have a have a well designed interface that lets you swap things out. That means it either has to be generic, or would favor one scheduler to the detriment of others. Sometimes this tradeoff is acceptable, sometimes it isn't.

      Now my understanding on this is that Linux doesn't support plugging in full schedulers. There were patches for that a few years go. Linus and others (Ingo especially, I think) said no, and the patches never made it in. Recently a system was developed that would allow a part of the scheduler to be plugged in. This way it could be better tuned for different workloads, without the full detriment of a full pluggable scheduler. This was done recently, and they were called out on this flip and explained quite well how they were a little hard, and this was a little different.

      Go read LWN's kernel pages. They talked about this in the last month or so, so it should be available to non-subscribers by now (although you should subscribe, they're great).

      --
      Comment forecast: Bits of genius surrounded by a sea of mediocrity.
    2. Re:Why not both? by r_jensen11 · · Score: 2, Insightful

      I'm voting for keeping it selectable when compiling the kernel.

      You talk about a program favoring one scheduler over another or using generic calls. There are tons of programs out there already, without this new scheduler in mind, and they are running better than with the old scheduler. After this scheduler becomes common-placed, I'm sure the then-new programs will have some examples of running better with the old scheduler.

      Keep both schedulers in the kernel, but only allow the users or the distributions to build one into the running kernels. This way it's the best of both worlds.

    3. Re:Why not both? by bersl2 · · Score: 2, Insightful

      I really don't understand why Linus didn't take this approach*. He could have merged SD with the stipulation that he'd rip it out if he ever wanted to. I'm sure this would have kept Con around, instead of chasing off an important resource to the kernel's development.

      Of course, I get the distinct impression that Linus' impression of Con is not nearly as favorable as others'. I wonder why that is...

      * I mean, I know why he didn't, but...

  24. Supervillain by EnsilZah · · Score: 3, Funny

    Come on, it's quite obvious that Linus's secret superhero alter-ego has done battle with Kolivas' supervillain identity before (I mean, Con Kolivas? Do the writers even try to make these things sound authentic?) and is now trying to thwart his evil plans of global domination.

  25. Somehow in all what the three have said.... by 3seas · · Score: 2, Insightful

    ... I find a bit of hypocrisy.

    Three is right, as its Con and an email exchange between Linus and another.

    Whooo hooo..

    That settles it.... everybody is accounted for..... right??

    Its open source but with all the talk about having a maintainer of certain character as a part of the consideration of .... consideration about inclusion of code they wrote.. Uhhh did I forget to say its "Open Source"?
    Its not uncommon for pioneers to be forgotten as what comes next, takes over...
    Or does this mean that when a maintainer dies, so does what they were maintaining?

    The general message Con seemed to be expressing was more interesting as a general observation than of specific code.

    The response from Linus suggest that although Linus does not frequent specific topic lists because of inherent bias, he has his bias none the less.

    There is a general across the board bias, proprietary and open source, and it is one of exclusion of the end users.
    And it comes across as arrogance motivated by money and/or ego.

    To explain, programming is an act that includes creating functionality that is then accessible thru an easier to use interface such as a function call with arguements and expected return value. The general concept is common knowledge in coding regardless of what programming language you are using,

    However, this concept is not typically provided to the end user, but instead kept away from the user and certainly not provided to the user, when some distortion of it is provided the user, in any sort of easy common consistent manner.

    To clarify, users access programs typically via a command line or GUI. Neither of which are so conducive to allowing teh users to put things together for themselves. All the functionality if available to the user via the programs GUI or command line. But the same functionality is not available in an mode that allows user to call the functionality in the program and make use of the results outside of teh programs command line or GUI interface.

    Con mentioned the Amiga. The Amiga had all three user interfaces. The command Line, The GUI and the missing user interface an every other system today, The IPC port interface, most commonly known as the AREXX port but did not need AREXX running in order to use the port for "user putting things together for themselves".

    SO YOU DON'T LET USER PUT THINGS TOGETHER FOR THEMSELVES! WHY NOT?

    Cause you can dumb down the user and get ideas from them and sell those ideas implemented, back to them.

    But when you take away from the users, the ability to put things together for themselves, then that makes you a hypocrite when you then call them ignorant, armchair coders or any other demeaning term. As it is you who have created that self supported dependency of trying to justify your lack of inclusion of others.

    Con outright stated how he got started.

    Maybe You linus and a whole world of other coders, need to pull you head out of your asses and SERIOUSLY realize, THERE ARE OTHERS you are not considering.

    Ultimately, if people want to optimize their system for their needs, they should be able to. But there is serious prevention of that across the board.

  26. Its the desktop stupid! by bradbury · · Score: 5, Interesting

    Have you improved it to the point that when the system is borderline out of main memory or has a moderately high load average it actually *works* as a desktop system?

    E.g. when Firefox is consuming 65-70% of main memory and slower than #%#$ and you know it is waiting on swapped out pages and your swap rate is measured in the dozens to hundreds rather than hundreds to thousands (on vmstat)? (I mean really, how can one take an operating system seriously when only memory is at 100% and not CPU + memory + Disk I/O?)

    The real issue, for those who have read comments that Con has made in interviews, seems to be the lack of concern on the part of most of the "in-crowd" Linux developers for performance on the desktop. In part this seems driven by the fact that the people who actually get paid to maintain Linux, benchmark it and "improve" it only care about its performance in server farms and *not* on the individual desktop. I will weigh in on the side of desktop user out there (that wants the Linux sitting beneath their desk to devote its every waking minute to making *them* happy) by saying that if my mplayer "hangs" in the middle of a song (only to continue with a loud burst of noise 10 seconds later) when the CPU is busy with "nice -19" processes, my Firefox browser takes half a minute to scroll a page or open a screen) when memory is tight, and it takes minutes to bring up a tab or minimized program I haven't touched in 3 days and return them to a functional state then the operating system *Has a PROBLEM*.

    Con was very clear in his interviews that the problem is the lack of caring about *desktop* performance. Given my comments in the previous paragraph -- some of these areas may be very difficult to benchmark and as a result one is left with nothing but handwaving and loud voices when it comes to discussions about whether the problem exists and how it should be fixed.

    I will say this, in the mid-'90s I used X-windows under Unixware on *Pentium 1s* as a desktop machine. I now use X-windows under Linux on a Pentium 4 (with 5-10x more main memory) as a desktop machine. I would argue that my desktop user experience is as problematic now as it was then *despite* the hardware improvements. That IMO is what Con felt was the problem he was trying to address. That is what it would appear the core Linux developers may be failing to address. Con's points raised my awareness level to the extent that I actually went investigating to see whether there were open source distributions of the BeOS and/or Darwin (which is based on Mach) available since they are based on different OS architecture models and might be more end-user friendly [1]. I was hoping to find something I could run in a VM under Linux on my current hardware without major file system surgery. But I have little confidence that such an approach would fix core problems with the Linux scheduling and paging systems. I would *love* to see a real side-by-side comparison of Linux vs. FreeBSD for desktop users with an emphasis on how BSD scheduling, paging and swapping may be different (better?).

    (And as a side note, I could care *zero* about the performance of Linux in file server applications!)

    1. I did use both Nextstep (on Pentiums) and IRIX (on a R4000) for a while and found both to provide better end-user experience than Unixware (X) or Windows (95-98). I am disappointed that Linux barely manages to match those experiences given the hardware available nearly a decade later.

    1. Re:Its the desktop stupid! by TheRaven64 · · Score: 5, Interesting

      I would *love* to see a real side-by-side comparison of Linux vs. FreeBSD for desktop users with an emphasis on how BSD scheduling, paging and swapping may be different FreeBSD currently has two schedulers:
      • The old 4BSD scheduler has been tweaked a bit in the last decade, but is still fairly similar to the original. It is a high-throughput scheduler, which works well on servers and does okay on desktops.
      • The newer ULE[1] scheduler is latency-focussed. It prioritises I/O-bound tasks and respects 'nice,' so is generally much better for desktop use, where a little throughput can be sacrificed for responsiveness.
      I've been using ULE since the 5.x series, and it seems nice. It's been improved a lot since originally being integrated. It's hard to make a good benchmark for this kind of thing, because what you are really trying to optimise for is 'user experience.' The Windows scheduler has a trick where it prioritises the process owning the foreground window, hoping that the user's attention is on that window, so they get a perceived boost in responsiveness. Doing this on *NIX would require window manager cooperation.


      [1] ULE doesn't stand for anything, it was just chosen so the option in the kernel config file for adding it would be SCHED_ULE (SCHED_4BSD for the other one).

      --
      I am TheRaven on Soylent News
    2. Re:Its the desktop stupid! by trybywrench · · Score: 2, Informative

      I will say this, in the mid-'90s I used X-windows under Unixware on *Pentium 1s* as a desktop machine. I now use X-windows under Linux on a Pentium 4 (with 5-10x more main memory) as a desktop machine. I would argue that my desktop user experience is as problematic now as it was then *despite* the hardware improvements.

      I'm late to the thread but i could not agree more. I got into linux in '95 and used it as a desktop then with fvwm and then later with Afterstep. After that I ended up operating linux from telnet then ssh exclusively. I recently tried out a desktop linux (Ubuntu something.. don't remember which) and i was amazed how much things have stayed the same. Sure, gnome and a gui installer are nice but it's still feels, and runs, like the same old desktop os from '95

      --
      I came to the datacenter drunk with a fake ID, don't you want to be just like me?
  27. Re:Linus, Games are important! by miffo.swe · · Score: 2, Interesting

    1. Games run just perfectly on Linux with often better speed than in Windows. Every single game i has played in Linux has worked perfectly and smoothly. What Linux needs for gaming is more normal users who buys games. If there is a market someone will fill it quickly. I will also strongly refute that games are essential to desktops. There are infact people who use their computer to actually do something useful. 2. This decision has nothing to do with egos. This guy just happens to believe that its essential to speed up the kernel when the only slow apps in Linux are non-native apps like Java, OpenOffice or Firefox. Those are not slow because of any sheduler but because they are written with slow toolchains. More work on making the kernel more responsive wont help at all at this stage.

    --
    HTTP/1.1 400
  28. Re:"aimed at improving the desktop experience" by Anonymous Coward · · Score: 2, Interesting
    Linus slightly disagrees. From TFA:

    People are suggesting that you'd have a separate "desktop kernel". That's
    insane. It also shows total ignorance of maintainership, and reality. And
    I bet most of the people there haven't tested _either_ scheduler, they
    just like making statements.

    The fact is, I've _always_ considered the desktop to be the most important
    part.
    And I suspect that that actually is true for most kernel developers,
    because quite frankly, that's what 99% of them ends up using. If a kernel
    developer uses Windows for his day-to-day work, I sure as hell wouldn't
    want to have him developing Linux. That has nothing to do with anything
    anti-windows: but the whole "eat your own dogfood" is a very fundamental
    thing, and somebody who doesn't do that shouldn't be allowed to be even
    _close_ to a compiler!

    [emphasis mine]

    I'm gonna have to go with Linus on this one.
  29. Re:good for you by QuoteMstr · · Score: 4, Informative

    Since Linux is released under the GPL, every module must be under GPL compatible licenses, irrespective of whether they contain, or depend on, any GPL'd code.


    That's not true. Non-GPLed kernel modules are "tolerated" by the Linux kernel developers, and in principle, a ZFS module could be created and loaded with no problems, assuming it doesn't rely on GPL-only symbols. AFAIK, the VFS doesn't have many of those.

    What can't happen under the CDDL is the ZFS code being included in the kernel source tree the same way XFS, ext3 and so on are. That doesn't mean you can't maintain and distribute a module separately! The only reason a ZFS module doesn't exist today is that nobody's gone through the trouble of creating one.
  30. ok, one step further then by acidrain · · Score: 4, Informative

    Whether Con was aware of it, when he tried to integrate into mainline Ingo was his main customer. Specifically the person he was trying to deliver work to. And Con committed the cardinal sin of telling a customer that the customer was wrong about what he wanted. Even if Ingo were too coked up to operate a keyboard reliably and had it all wrong, trying that never seems to work.

    Did Con gain anything by refusing to re-introduce the hack to get X working the way it had previously under load? Even if he'd just put in a #define that allowed it, and then spent the next year arguing to take it out, there wouldn't have been this breakdown.

    --
    -- http://thegirlorthecar.com funny dating game for guys
  31. If Linux sucks on the desktop by forgoil · · Score: 3, Insightful

    Start profiling the damn thing! Write performance tests, good ones, write really evil stress tests, stress the crap out of it, and then you will know what is *wrong*. Might not be the kernel at all, in fact, I think that a lot will be because of applications (always a huge source for problems), the UI/Graphics subsystem (again, huge source for trouble, X11, drivers, UI toolkits, they all tend to be far from perfect) and such.

    But pissing and moaning won't do you any good. At least Con did try to write stuff, but not being a professional software engineer hurt his efforts I'm assuming. The guy would probably make a good technical manager though. It is a shame he felt he had to quit, it would have been much better if he could have gotten a few other kernel hackers on with him to go on. I think he ended up with a lot of users backing him, but no coders :(

    Not that I am a Linux person, but I always find it sad to see people who are really into something quitting for bad reasons (bad in the sense that the shouldn't have to, not that he did something unwise).

  32. Re:Linus, Games are important! by TheRaven64 · · Score: 4, Insightful
    There's nothing wrong with having multiple schedulers in the tree. FreeBSD has two. 4BSD is stable, provides excellent throughput and is ideal for server workloads. ULE is newer, less tested (only been in use for about three years), and much better for latency-sensitive workloads, such as desktops. Both are actively developed. Users can pick the one they want as a compile-time option (4BSD is the default, since it has a decade more testing, and FreeBSD users tend to prefer 'stable' to 'shiny').

    The situation for Linux is even simpler, since hardly anyone actually uses the stock kernel. Most Linux users use a kernel supplied by a distribution, which is compiled with a specific set of options and typically a few hundred patches. If one scheduler is good for desktops, and one good for servers, then merge them both and let desktop-focussed distros pick one and server-focussed ones pick the other.

    --
    I am TheRaven on Soylent News
  33. Re:As an outsider to kernel development, I'm curio by k3vlar · · Score: 2, Funny

    More like Surf's Up, but with emphasis on kernel development, instead of surfing. By the way, stay tuned for Dreamworks' Pictures "Tux". An animated comedy, starring yet even more penguins, and the lovable little guy himself. Tux is an ordinary penguin, working away at his operating system all day, like good penguins should. A chance meeting with the BSD Daemon and Gnu marks the start of a grand adventure that takes Tux all over the internet (including a brief visit to Slashdot itself). Tux makes friends with a host of colourful characters, meets the girl of his dreams, and learns an important lesson in process prioritization and task scheduling.

    --
    Unlike porn, which yada yada rimshot hey-ooh!
  34. Excuse me? by deblau · · Score: 2, Interesting

    one of the main reasons that I never ended entertaining the notion of merging SD for very long at all: Con ended up arguing against people who reported problems, rather than trying to work with them.
    OK, Linus doesn't like people who don't play well with others.

    instead of keeping to your isolated world, instead of just talking about your own machine and ignoring other peoples machines and issues and instead of just denying that problems may exist, and instead of attacking people who report problems, how about working with them?
    OK, he really doesn't like people who don't play well with others. We get it.

    If a kernel developer uses Windows for his day-to-day work, I sure as hell wouldn't want to have him developing Linux. That has nothing to do with anything anti-windows: but the whole "eat your own dogfood" is a very fundamental thing, and somebody who doesn't do that shouldn't be allowed to be even _close_ to a compiler!
    Wait, what? Now who's not playing well with others? My hypocrisy meter just pegged.

    And what's with the massive ego? It's as if suddenly Linus thinks he invented compilers or something. I think he needs to take a vacation and regain some perspective.

    --
    This post expresses my opinion, not that of my employer. And yes, IAAL.
    1. Re:Excuse me? by dbIII · · Score: 2, Informative

      The third bit SHOULD be obvious - if you run the thing all the time you will know how it behaves. If you run somebody else's work all the time you know how that behaves instead and seriously limit your exposure to the thing you are working on. A second low end box is cheap or even sitting there to be taken for free in a storeroom.

  35. CDDL is designed to be GPL incompatible by eean · · Score: 3, Interesting

    The CDDL was designed to be GPL incompatible, Solaris didn't want its crown jewels to be in Linux.

  36. Re:Nerds by tloh · · Score: 5, Insightful

    Furtunately, you're offering just an uninformed (and trivial at that) opinion. Unfortunately, you opinion seems to resonate with a large segment of similarly narrow-minded slashdot users. It is particularly tragic when folks here gravitate toward one steep world view without any desire to explore anything else outside of their comfort zone. It is a good thing that vocal narrow-minded elitist views (irritating as they are) are easy to ignore. The fact that diverse stories make it onto slashdot for all to discuss speaks volumes about that kind of site Slashdot actually is. We choose which stories we wish to participate in. The reality is that no one person (or even groups of persons) gets to define what slashdot is or isn't. Instead of helping to insulting others for not knowing much about the inner workings of the kernel, wouldn't it be more instructive to educate them on a subject which you (presumably) are more knowledgeble of? Instead of pushing your own agenda on a public community, why not take the time to look around and listen to what others may have to offer and then make the effort to make *your* contribution to other who need it? Please understand, I am not trying to attack you personally. I'm sure you're a decent upstanding guy. But the perspective of the opinion you've just expressed comes from a direction that hails from the most unsavory part of this great community, one that insults inteligent people and gives us all a bad name.

    --
    Stay sentient. Don't drink bad milk.
  37. Re:Benevolent dictatorship is a good thing by Actually,+I+do+RTFA · · Score: 2, Funny

    Or having a cat who fubared your keyboard, so you're typing posts via ascii codes.

    --
    Your ad here. Ask me how!
  38. I'll take Linus's mis-steps, if ther ahve been any by Tran · · Score: 3, Insightful

    over MS ones any day.
    Sounds to me either scheduler will do the job just fine.
    The decision between two good alternatives is always a difficult decision - someone, no matter how good the ideas, will feel slighted.

  39. Linus's double standard: a historical perspective by paleshadows · · Score: 5, Informative

    A few months before Ingo wrote the O(1) scheduler, he flamed anyone who dared to suggest that an O(n) scheduler is a bad idea. He was *very* aggressive about it, going on and on about why O(n) is best and how O(1) would be worthless. Using Linus's words (about Con), Ingo "ended up arguing against people who reported problems [scheduler linearity], rather than trying to work with them". It therefore seems a bit strange that Linus uses this statement to describe Con, arguing this is why he favors Ingo...

    Importantly, Ingo was dead wrong back then (indeed, this is why months after, Ingo came up with the O(1), announcing it as if it was his idea and as if nothing ever happened, not *ever* saying something like "I was wrong, sorry for the flames").

    In contrast, Con was right in refusing to pollute the design of SD with Ingo's unfairness discipline. (This is what Linus referred to when he made the "arguing against" statement.) And what do you know? A few years after, Ingo comes up with a "Completely Fair Scheduler"...

    I'm in scheduling research for many years. I followed the long Linux scheduling saga, which actually started way before Con was in business. Please believe when I tell you: Linus comments about Con are ludicrous, and petty. This is not Linus's finest hour.

    Note however that this does not mean that Linus made the wrong decision: Even though SD is somewhat better than CFS, Ingo is orders of magnitude a better programmer than Con, orders of magnitude more knowledgeable, he gets paid to do the work, has gotten along with Linus for years, and will eventually make CFS as good as SD and even better. This is the real reason for Linus's decision. (Or at least, it should be.)

    But the stuff Linus said about Con... well, that's just Linus being small.

  40. Re:Linus, Games are important! by pakar · · Score: 2, Interesting

    Ehmm... I'm not a 'gamer'.. Maybe once every 2 months or so if i don't have anything better to do... But most people i know below 30 are playing games, and without having good support for that in gnu/linux they will never switch away from windows.

    The problem the linux distributions have today is that they have a bad reputation that scares people away and this scares people away from it.. (remember that all unknowns are scary for most people)

    Now back to the topic... First of all i do want to say that i have not had the chance to try the CFS scheduler yet, but the thing here is that the SD scheduler where great on lots of other tasks too. With the plain O1 scheduler i had lots of problems when playing video-streams during high-cpu load,and the issue was that the scheduler gave background-jobs to large timeslices that cause the player to skip frames and such. With the SD scheduler there where some really nice things you could do then too, like setting the background-jobs to SCHED_ISO that caused the process ONLY to use unused cpu-time and this worked great. Could have 5-6 gcc's loading the cpu without even a frame dropped and did try out a opengl game (enemyterritory) during compilations just to see how it worked, and no problems there either.. Then after switching back to the O1 scheduler i could not even have 2-3 gcc's running without loosing LOTS of frames, and did not even bother with trying out a game..

    So you see, games are just a part of it.. All types of lowlatency applications like video, music, games and some daemons like nfsd and such needs a good scheduler to give the best performance/interactivity.

    I think i'm gonna give the CFS scheduler a try during the week, but i dont have any high hopes after what people have reported about it yet. And i do think it would be a better idea to implement multiple schedulers that you could choose between instead of having 'one size fits all'.

  41. Linus's double standard: a historical perspective by paleshadows · · Score: 5, Insightful

    A few months before Ingo wrote the O(1) scheduler, he flamed anyone who dared to suggest that an O(n) scheduler is a bad idea. He was *very* aggressive about it, going on and on about why O(n) is best and how O(1) would be worthless. Using Linus's words (about Con), Ingo "ended up arguing against people who reported problems [scheduler linearity], rather than trying to work with them". It therefore seems a bit strange that Linus uses this statement to describe Con, arguing this is why he favors Ingo...

    Importantly, Ingo was dead wrong back then (indeed, this is why months after, Ingo came up with the O(1), announcing it as if it was his idea and as if nothing ever happened, not *ever* saying something like "I was wrong, sorry for the flames").

    In contrast, Con was right in refusing to pollute the design of SD with Ingo's unfairness discipline. (This is what Linus referred to when he made the "arguing against" statement.) And what do you know? A few years after, Ingo comes up with a "Completely Fair Scheduler"...

    I'm in scheduling research for many years. I followed the long Linux scheduling saga, which actually started way before Con was in business. Please believe when I tell you: Linus comments about Con are ludicrous, and petty. This is not Linus's finest hour.

    Note however that this does not mean that Linus made the wrong decision: Even though SD is somewhat better than CFS, Ingo is orders of magnitude a better programmer than Con, orders of magnitude more knowledgeable, he gets paid to do the work, has gotten along with Linus for years, and will eventually make CFS as good as SD and even better. This is the real reason for Linus's decision. (Or at least, it should be.)

    But the stuff Linus said about Con... well, that's just Linus being small.

  42. Re:Linus's double standard: a historical perspecti by Anonymous Coward · · Score: 5, Insightful

    Don't worry, there are enough non-knowledgeable people here to mod you down. I must admit that this debate really boils down to Linus and Ingo taking a long time to reach Con's conclusions, and then not being as gracious about it as they could be. Con, of course, was insulted by this (who wouldn't be?) and all the while we had two major camps of Linux users: the pro-CK one (holy crap! My system works with this patchset!) and the anti-CK one (damn! My server doesn't need this, wtf?).

    In the end this just demonstrates that having egotistical bastards running the show isn't always going to yield the best results. Linus and Ingo do fantastic work, and they do sub-par work. But when someone points the sub-par stuff out, head for the hills! They will always have a legion of fans defending them, more than willing to dumb-down the real issue in favor of pretending their infallible leaders are never wrong.

  43. Re:Nerds by poopdeville · · Score: 5, Funny

    So, lets says you're running Word (not likely on linux, for quickest example I could come up with)

    What the fuck.

    --
    After all, I am strangely colored.
  44. Shades of devfs vs. udev by jurgen · · Score: 4, Insightful

    This whole situation reminds me a lot of devfs. The developer of devfs (Richard Gooch) was maybe a bit of an outsider with good ideas and strong opinions that sometimes clashed with those of kernel developers that were more insiders or closer to Linus. The story is a little different in that devfs had actually made it into the mainline kernel, but then later was replaced by udev (the first draft of which was by Greg KH in a day or so... again very much like Ingo's whipping up the first draft of CFS).

    Then as now with CK, eventually Richard stopped doing linux kernel work altogether. I thought it was a sad loss of a talented kernel hacker, and I had been a devfs user, but I must say that in retrospect I do think udev is a better solution. It is simpler, has less impact on the rest of the kernel, but has proven itself to solve all the problems devfs tried to solve that actually mattered.

    What's the moral of the story? That both sides are right... on the one hand, there's something sad here, because at least several times in linux history an outsider had to fight for innovation and in the end was pushed away even as his innovation was grudgingly adopted by reinventing it. On the other hand the actual results do seem to indicate that linux is NOT resistant to change, and maybe that the better, more maintainable solution tends to win out.

    There's also another thing to keep in mind... it is a pattern in this history of technology that the first attempt to solve a problem is rarely the one that becomes dominant. Both Con Kolivas and Richard Gooch should be recognized for the innovators that they are... and if they were wise they should also not begrudge the fact that it wasn't their exact solution which eventually got adopted by the mainstream. I know this is difficult... they both put a /lot/ of energy into their work. But that energy was not lost to the rest of us, as without the experience of their groundbreaking we would not have gotten the solutions we eventually did. Even if Greg KH's udev and Ingo's CFS share no appreciable amount of code or algorithms with devfs and SD, if they are honorable, I'm sure they would admit that they could not have so quickly whipped up their solutions without the example and inspiration of RG and CK's work.

    Finally, I would like to add that although the way I see all this, it has little if anything to do with Linus's personality, nevertheless I think Linus could have handled these cases better. /Maybe/ instead of losing them in the long run we could have gotten some more innovation from talented developers like RG and CK. The problem, I think, wasn't the decision adopt CFS instead of SD. Rather, regardless of whether or not is true, the problem is Linus's public judgement that CK is not a "responsive maintainer". I didn't follow the CK or the lkml lists in that time frame enough to know if he is right... but a really good leader would not have made such a judgement public even if hed believed it, and instead would have worked to find a way to keep such talented persons contributing.

  45. Re:tfa shows "interesting" view into Linus's outlo by SEE · · Score: 3, Insightful

    Somebody directing a large effort does not have the ability to fully investigate every subsidiary dispute fairly without the effort grinding to a halt. Shorthand criteria are a necessity, as are rules of thumb as to what sources to bother investigating. This will inevitably lead to a number of less-than-optimum technical decisions along the way, but the results will be markedly superior to those where the manager stops everything to thoroughly investigate every aspect of every decision.

    Con Kolivas's reaction to "losing" was not to continue to maintain SD and try to get it in later, or to try to improve CFS, but to quit kernel-hacking entirely. Which means he is not of a temperament that can accept that large projects will have arbitrary decisions that go against him, which means he would be a bad choice for the maintainer of a major kernel system. His actions in retrospect justify Torvalds's judgment that he couldn't trust him as a maintainer. Kolivas proved Torvalds correct on the management question, even if Torvalds is wrong on the technical one.

  46. Re:Linus, Games are important! by miffo.swe · · Score: 2, Insightful

    It would be perfectly possible to have ten different schedulers and just choose at compile time. The question is, is it really worth it? The performance benefits are pretty small compared to if you have better optimized code in the games or better drivers for the graphics card. A better scheduler doesnt solve buggy drivers, bad coding or bad ports. If i understand Linux correctly he is more than fine with people using whatever sheduler they want in their own trees. Hes just not that hot for maintaning more than one in the vanilla tree because its not just worth it. Again, there are much bigger improvements to get in other places that people tend to completely forget.

    --
    HTTP/1.1 400
  47. Re:tfa shows "interesting" view into Linus's outlo by 12357bd · · Score: 4, Informative

    I fully agree with the first part of your post, but I don't buy this 'Con's reaction justify Linus judgment' argument:

    1) It seems clear on the mailing lists that Con was really a good maintainer (only one 'problem' reported).

    2) Con's reaction seems quite understandable, after a very long time working on a project you see it not only refused by the maintainers (perfecty ok on that), but suddenly 'copied/inspired/wahtereryouwant' by that very same maintainer (not quite right).

    EGO leads to sectarism, that's all. The problem is that it seems that Con's scheduler was very good at gamming, and it's a shame that Linux dimissed a good piece of code on a specially sensible area for personal motives.

    --
    What's in a sig?
  48. Re:Nerds by MrHanky · · Score: 2, Interesting

    I don't disagree that a story about the scheduler is potentially interesting, and that it's what Slashdot used to be about. But as you can see from the above comments, it's not exactly stuff that "nerds" these days care to Google when they don't understand what it's about. Personally, I started reading this site because I ran (and run) Linux, not the other way around. So I've got nothing against this particular story, even though most of the discussion is very poor, and, sadly, typical for this site.

    That said, I do disagree that Slashdot has ever been a science site. There's a lot more to science than what interests the nerd crowds (the proper nerd crowds, not the Apple fanboys and gadget freaks, who could care less about how stuff works). Science, as it concerns Slashdot, is mainly science that concerns technology. Throw in a few dinosaurs and volcanoes for good measure. It's boys' stuff. Science fiction stuff. You won't find anything about the travel patterns of herring or anything that takes the social sciences seriously (plenty of people here would even claim "it's not science", demonstrating their own lack of insight into what the scientific method(s) constitute).

  49. Re:Linus's double standard: a historical perspecti by paleshadows · · Score: 2, Interesting

    But did you read Con's messages sent to the LKML (rather than just those sent to Con's private ML)?
    Not all of them, but many.

    Con really did get quite whiny and argumentative at times, in bad ways. He seemed to be prone to taking criticism from certain people much too personally when he should have just focused on discussing the technical issues.
    I disagree. I felt his comments were usually to the point, even though towards the end you could feel his more emotional. But see more on this below.

    I do have sympathy for Con, but I also believe he could have helped his cause a lot by growing a thicker skin. The Linux kernel community has had problems in the past with subsystem maintainers who were drama queens. Richard Gooch and Andre the IDE guy come to mind. It's not too surprising that core kernel developers react negatively to similar behavior, even if it's much milder than the examples I gave.

    My read is different, but it'll take a few paragraphs to explain why, so please bare with me. The O(1) so called "improved interactivity" was just a hack upon a hack upon a hack that never worked. If you ever read the code you know what I'm talking about. It was a complete mess. The mess was the result of trying to obtain a goal that is unobtainable: very roughly speaking, Ingo (and others) believed that it is possible to deduce how "important" a process is, based on the frequency of the process' sleep events (not the duration of the sleep). I can point you to a few research papers that show that this can simply *not* be done. Briefly, it has been shown that for each "important" application you can find an "unimportant" application such that the CPU usage pattern of the two is very similar; Hence, you would never be able to distinguish the important from the unimportant (if you are only basing you decision on CPU usage). All you can do is (1) divide the CPU equally, and (2) provide good response time to applications that sleep for long periods of time (like editors). According to several of his emails, Ingo is not reading scheduling papers, and proud of it.

    I suspect Con doesn't read such papers either. But he knew this is the case nevertheless. For years Ingo and his followers attacked Con on this. Note that this is a purely technical issue, and Con was *completely* right, e.g. take a look at CFS, or at Linus's original scheduler that lasted until 2.2, or, Solaris, *BSD (with the exception of ULE), HPUX, etc. They are all much closer to the SD's philosophy than to the O(1)'s. (BTW, the only other OS that tried to do what Ingo wanted is... the Windows family).

    The discussion between Con and others regarding this issue was not about minor details. Ingo and his followers view towards Con was plain and simple: "your design is crap, it doesn't do what schedulers are supposed to do". Con resisted. And I agree, after years in the business, he was occasionally emotional about it. But this is really understandable and reasonable. Especially when you compare it to the way Ingo and Linus express themselves from time to time (talk about "drama queens"). For example, notice how Linus talks to Ingo when Ingo doesn't understand something immediately.

    The bottom line is that most of them are "drama queens" from time to time. Nobody is perfect. In absolute terms, however, I think Con usually expresses himself in a calm, quiet, and relatively humble manner. Certainly in comparison to Ingo/Linus.

  50. oooh I love the double standards... by SerpentMage · · Score: 2, Insightful

    >Even though SD is somewhat better than CFS

    Ah ok a solution is better... We use that solution, right? Because after all is that not what Open Source is all about? (http://en.wikipedia.org/wiki/Meritocracy)

    Meritocracy is a system of government or other organization based on demonstrated ability (merit) and talent rather than by wealth (plutocracy), family connections (nepotism), class privilege, cronyism, popularity (as in democracy) or other historical determinants of social position and political power.

    >Ingo is orders of magnitude a better programmer than Con, orders of magnitude more knowledgeable, he gets paid to do the work, has gotten along with Linus for years, and will eventually make CFS as good as SD and even better.

    Ok so demonstrated was a scheduler that was better, but chosen was somebody who is perceived as being more knowledgeable, and gets along with Linus and EVENTUALLY will make CFS as good or better... And until EVENTUALLY hits I should wait around and suffer the problems? And how is this different from say Microsoft who refuses to fix bugs?

    Let's call this what it is! Corporatism at the open source level with Linus's nepotism!

    --

    "You can't make a race horse of a pig"
    "No," said Samuel, "but you can make very fast pig"
  51. Re:Nerds by HeroreV · · Score: 2, Insightful

    I'm only 19, and I've never contributed a single patch to any software project, but even I know exactly what this is about. The worry here is that the Linux kernel developers are acting like snobby elitists, and that they care more about patting each other on the back than they care about improving the kernel. They're rather shit up the kernel than listen to someone who isn't part of their inner circle. It's pretty major stuff.