Torvalds Explains Scheduler Decision 411
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."
Linus as the benevolent dictator again (Score:5, Insightful)
Re:Linus as the benevolent dictator again (Score:4, Insightful)
Re: (Score:3, Insightful)
Con should have sucked it up and worked harder on his scheduler.
And what would have been his reward for that.
Re: (Score:3, Insightful)
Then one day SD appears and Ingo suddently announced his version of a fair scheduler, and after so many years of hard wo
Re:Linus as the benevolent dictator again (Score:5, Insightful)
Re:Linus as the benevolent dictator again (Score:5, Funny)
Re: (Score:3, Funny)
Re:Linus as the benevolent dictator again (Score:5, Interesting)
I wrote this comment on kerneltrap [kerneltrap.org].
Christ, that's incredible. Nice one "bconway".
Re:Linus as the benevolent dictator again (Score:4, Interesting)
Re:Linus as the benevolent dictator again (Score:4, Informative)
"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"
Re:Linus as the benevolent dictator again (Score:5, Informative)
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 [lkml.org])
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.
Re:Linus as the benevolent dictator again (Score:5, Insightful)
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'll take Linus's mis-steps, if ther ahve been any (Score:3, Insightful)
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.
Re: (Score:3, Informative)
Re: (Score:3, Funny)
Or having a cat who fubared your keyboard, so you're typing posts via ascii codes.
For those of us who are not kernel hackers, (Score:5, Interesting)
Re:For those of us who are not kernel hackers, (Score:5, Informative)
CFS = completely fair scheduler
SD = staircase deadline.
That probably didn't clarify anything :/
seeming to care is a big deal (Score:5, 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.
Re:seeming to care is a big deal (Score:5, Insightful)
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.
ok, one step further then (Score:5, 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.
Linus, Games are important! (Score:2, Redundant)
The only important points to me are:
1) Games are basic to linux desktops, we need linux games, so if Con scheduler was best on games, please, incorporate those changes.
2) EGO's are a pain in the ass, it seems that Con has been refused by Linus , because he didn't take the whole history into acount, too bad, that kind of things happend in any not trivial project management. Don't let EGO's rule the ball, that's the most basic point a manager (Linus) has to respect to keep people on the project.
Re: (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
Re:Linus, Games are important! (Score:5, Informative)
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" [kerneltrap.org] 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" [kerneltrap.org]
Re: (Score:2)
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
Well too much choice leads to bad things. Essentially each will be optimized for a subset of users despite the fact that they aren't in reality disjoint subsets of users. People run tons of things on their systems that don't fall into a single category, sometimes it's for testing and sometimes it's for actual use. Add in all the people who pick the wrong one and you have trouble. Remember that there are likely TONS of areas where such choices can be added in.
Re:Linus, Games are important! (Score:5, Insightful)
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.
Re: (Score:3, Interesting)
Re: (Score:3, Insightful)
Linus wins by default (Score:2, Insightful)
Re:Linus wins by default (Score:5, Insightful)
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.
Re:Linus wins by default (Score:5, Insightful)
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.
Re: (Score:3, Insightful)
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 i
Re:Linus wins by default (Score:5, Insightful)
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.
Re:Linus wins by default (Score:5, Insightful)
"desktop experience" (Score:3, Interesting)
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.
recently released 2.6.23 kernel? (Score:2, Informative)
I find him rather rude (Score:4, Interesting)
Re:I find him rather rude (Score:5, Informative)
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)
Re:I find him rather rude (Score:5, Interesting)
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
Re:I find him rather rude (Score:4, Informative)
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
Re:I find him rather rude (Score:5, Interesting)
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.
Re:I find him rather rude (Score:4, Interesting)
This might trample on a few toes but it sure gets the job done.
Re:I find him rather rude (Score:4, Insightful)
Um, no. It's that their definition of polite is not the same as yours.
Re:I find him rather rude (Score:5, Funny)
All these years I thought I was a social misfit, but apparently I'm just Finnish.
Boy will my parents be surprised.
Re:I find him rather rude (Score:4, Funny)
Re: (Score:3, Funny)
Re:I find him rather rude (Score:5, Funny)
You're going to love this Theo guy, then.
I keed, I keed.
Re: (Score:3, Insightful)
Having lurked on http://www.lkml.org/ [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'
Re:I find him rather rude (Score:5, Insightful)
I think you mistake politeness for submissiveness. For example:
You can be polite and respectful without being a pushover. This is also commonly referred to as "tact".
Re: (Score:3, Interesting)
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
Re: (Score:3, Insightful)
* 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
RTFA and understand (Score:4, Insightful)
Linus admitted to favoritism (Score:5, Insightful)
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.
Re: (Score:3, Interesting)
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.
Re: (Score:3, Informative)
A few moments ago, Linus posted a message explaining why he rejected plugsched: He detests politically-motivated code.
And while I disagree with the choices he made regarding SD an
Re:RTFA and understand (Score:4, Interesting)
The -rt patch will:
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.
tfa shows "interesting" view into Linus's outlook (Score:5, Insightful)
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.
"
Re:tfa shows "interesting" view into Linus's outlo (Score:4, Insightful)
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.
Re:tfa shows "interesting" view into Linus's outlo (Score:5, 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.
Damn right the desktop experience is improved! (Score:3, Interesting)
Re: (Score:2)
Re: (Score:3, Interesting)
Why does Linus appear so angry? (Score:2)
After reading over the article, I came away with the impression that Linus appears to be an angry person. I have also noticed this in past topics where emails from Linus have been mentioned. So I am asking the question as to why he appears this way. Is it because I always see such references at particular time like now with hot button issues? Or perhaps because English is not his native tongue? Or is it because he really does have
Why not both? (Score:5, Interesting)
I know very little about operating systems, schedulers, and maintaining large projects, so please excuse any ignorance in my post
Re:Why not both? (Score:5, 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 [lwn.net]'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).
Re: (Score:3, Insightful)
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 t
Re: (Score:3, Insightful)
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...
Supervillain (Score:4, Funny)
Somehow in all what the three have said.... (Score:3, Insightful)
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
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.
Re: (Score:2)
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.'
Remind me again WTF that has to do with scheduling and desktop performance?
I apparently missed something (Score:2)
If Linux sucks on the desktop (Score:4, Insightful)
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).
Excuse me? (Score:3, Interesting)
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.
Re: (Score:3, Informative)
Linus's double standard: a historical perspective (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.
Shades of devfs vs. udev (Score:5, Insightful)
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
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.
Re:Nerds (Score:5, Funny)
Re: (Score:2)
Re: (Score:3, Funny)
Look at the front page much?
Re:Nerds (Score:5, Insightful)
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.
Re:Nerds (Score:5, Insightful)
Re: (Score:3, Interesting)
That sa
Re: (Score:2)
Linus's double standard: a historical perspective (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.
Re:Linus's double standard: a historical perspecti (Score:5, Insightful)
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.
oooh I love the double standards... (Score:3, Insightful)
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.
Re: (Score:3, Insightful)
Re: (Score:3, Funny)
Re:Nerds (Score:5, Funny)
What the fuck.
Re: (Score:3, Interesting)
Re:good for you (Score:4, Informative)
Re: (Score:3, Interesting)
CDDL is designed to be GPL incompatible (Score:4, Interesting)
Re: (Score:2)
Re:good for you (Score:5, Informative)
That's not true [wikipedia.org]. 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.
Re:good for you (Score:5, Funny)
Re: (Score:3, Insightful)
Its the desktop stupid! (Score:5, Interesting)
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.
Re:Its the desktop stupid! (Score:5, Interesting)
[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).
Re: (Score:3, Informative)
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 fro
Re: (Score:2, Interesting)