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."
As it seems many others don't agree to his opinions of Con, http://lkml.org/lkml/2007/7/27/426
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 ?
... arbitrary ?
Has Linux kernel development always been this
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.
"
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.
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.
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/
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.
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.
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.
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.
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.
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.