{"id":136,"date":"2007-07-29T10:01:48","date_gmt":"2007-07-29T17:01:48","guid":{"rendered":"http:\/\/ryanorser.com\/?p=136"},"modified":"2007-07-29T10:01:48","modified_gmt":"2007-07-29T17:01:48","slug":"20070729-it-on-slashdot-dont-overlook-efficient-cc-cmd-line-processing","status":"publish","type":"post","link":"https:\/\/ryanorser.com\/index.php\/2007\/07\/29\/20070729-it-on-slashdot-dont-overlook-efficient-cc-cmd-line-processing\/","title":{"rendered":"2007\/07\/29  IT on Slashdot: Don\u2019t Overlook Efficient C\/C++ Cmd Line Processing"},"content":{"rendered":"<p>here is a story on <a href=\"http:\/\/linux.slashdot.org\/linux\/07\/07\/28\/1836247.shtml\">Slashdot:<\/a><\/p>\n<blockquote><p>\u00a0 \t\t\tFiredog writes <em>&#8220;There&#8217;s been <a href=\"http:\/\/linux.slashdot.org\/linux\/07\/07\/24\/1432245.shtml?tid=106\">a lot of recent debate<\/a> 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 <a href=\"http:\/\/kerneltrap.org\/node\/14008\">Linus Torvalds&#8217; official stance as to why he chose<\/a> the code that he did. &#8216;People who think SD was &#8220;perfect&#8221; were simply ignoring reality,&#8217; 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.&#8221;<\/em><\/p><\/blockquote>\n<p>Here is the story on the <a href=\"http:\/\/kerneltrap.org\/node\/14008\">Kernel Trap:<\/a><\/p>\n<blockquote>\n<h2 class=\"title\">Linux: Linus On CFS vs SD<\/h2>\n<p class=\"date\">July 27, 2007 &#8211; 8:10pm<\/p>\n<p class=\"author\">Submitted by <a href=\"http:\/\/kerneltrap.org\/user\/1\" title=\"View user profile.\">Jeremy<\/a> on July 27, 2007 &#8211; 8:10pm.<\/p>\n<p>&#8220;<em>People who think SD was &#8216;perfect&#8217; were simply ignoring reality,<\/em>&#8221; 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, &#8220;<em>sadly, that seemed to include Con too, which was one of the main reasons that I never [entertained] 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.<\/em>&#8221;  He went on to stress the importance of working toward a solution that is good for everyone, &#8220;<em>that was where the SD patches fell down. They didn&#8217;t have a maintainer that I could trust to actually care about any other issues than his own.<\/em>&#8221;  He then offered some praise to Ingo, &#8220;<em>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.<\/em>&#8221;  Linus went on to note a comparison between the two schedulers:<\/p>\n<blockquote><p>&#8220;I realize that this comes as a shock to some of the SD people, but I&#8217;m told that there was a university group that did some double-blind testing of the different schedulers &#8211; old, SD and CFS &#8211; and that everybody agreed that both SD and CFS were better than the old, but that there was no significant difference between SD and CFS.&#8221;<\/p><\/blockquote>\n<p>Con Kolivas maintained the <a href=\"http:\/\/ck.wikia.com\/wiki\/Main_Page\">-ck<\/a> Linux kernel patchset which aimed at improving the desktop experience since 2002, originally for the 2.4 kernel. Shortly after the decision to merge the CFS scheduler instead of his SD scheduler, and without an official response about merging his <a href=\"http:\/\/kerneltrap.org\/taxonomy\/term\/362\">swap prefetch patch<\/a>, he <a href=\"http:\/\/lkml.org\/lkml\/2007\/7\/22\/252\">announced his decision<\/a> to stop working on the Linux kernel.  More information about his contributions and recent decision can be found in this <a href=\"http:\/\/apcmag.com\/6735\/interview_con_kolivas\">interview on apcmag.com<\/a>.<\/p>\n<p>Ingo Molnar <a href=\"http:\/\/kerneltrap.org\/node\/8059\">wrote the original CFS scheduler<\/a> within a 62 hour window of time starting on April 11&#8217;th, 2007.  <a href=\"http:\/\/kerneltrap.org\/node\/8082\">Early reports<\/a> on the CFS scheduler suggested it was an improvement over the old scheduler, but perhaps not over the SD scheduler. Ingo determinedly followed up on all bug and regression reports, rapidly improving the scheduler and addressing all known issues. <a href=\"http:\/\/kerneltrap.org\/node\/11737\">It was merged<\/a> into the 2.6.23 kernel on July 9&#8217;th, three months after it was written.<\/p>\n<hr \/>\n<p><strong>From:\tKasper Sandberg<\/strong> [email blocked]<br \/>\nTo:\tLinus Torvalds [email blocked]<br \/>\nSubject: Re: Linus 2.6.23-rc1<br \/>\nDate:\tSat, 28 Jul 2007 04:04:39 +0200<\/p>\n<p>(sorry for repost, but there seemed to have been some troubles..)<\/p>\n<p>On Sun, 2007-07-22 at 14:04 -0700, Linus Torvalds wrote:<br \/>\n&gt; Ok, right on time, two weeks afetr 2.6.22, there&#8217;s a 2.6.23-rc1 out there.<br \/>\n&gt;<br \/>\n&gt; And it has a *ton* of changes as usual for the merge window, way too much<br \/>\n&gt; for me to be able to post even just the shortlog or diffstat on the<br \/>\n&gt; mailing list (but I had many people who wanted to full logs to stay<br \/>\n&gt; around, so you&#8217;ll continue to see those being uploaded to kernel.org).<br \/>\n&gt;<br \/>\n&gt; Lots of architecture updates (for just about all of them &#8211; x86[-64], arm,<br \/>\n&gt; alpha, mips, ia64, powerpc, s390, sh, sparc, um..), lots of driver updates<br \/>\n&gt; (again, all over &#8211; usb, net, dvb, ide, sata, scsi, isdn, infiniband,<br \/>\n&gt; firewire, i2c, you name it).<br \/>\n&gt;<br \/>\n&gt; Filesystems, VM, networking, ACPI, it&#8217;s all there. And virtualization all<br \/>\n&gt; over the place (kvm, lguest, Xen).<br \/>\n&gt;<br \/>\n&gt; Notable new things might be the merge of the cfs scheduler, and the UIO<br \/>\n&gt; driver infrastructure might interest some people.<br \/>\n&gt;<br \/>\nIm still not so keen about this, Ingo never did get CFS to match SD in<br \/>\nsmoothness for 3d applications, where my test subjects are quake(s),<br \/>\nworld of warcraft via wine, unreal tournament 2004. And this is despite<br \/>\nmany patches he sent me to try and tweak it. As far as im concerned, i<br \/>\nmay be forced to unofficially maintain SD for my own systems(allthough<br \/>\nlots in the gaming community is bound to be interrested, as it does make<br \/>\ngames lots better)<\/p>\n<p>&lt;snip&gt;<\/p>\n<p><strong>From:\tLinus Torvalds<\/strong> [email blocked]<br \/>\nTo:\tKasper Sandberg [email blocked]<br \/>\nSubject: Re: Linus 2.6.23-rc1<br \/>\nDate:\tFri, 27 Jul 2007 19:35:58 -0700 (PDT)<\/p>\n<p>On Sat, 28 Jul 2007, Kasper Sandberg wrote:<br \/>\n&gt;<br \/>\n&gt; Im still not so keen about this, Ingo never did get CFS to match SD in<br \/>\n&gt; smoothness for 3d applications, where my test subjects are quake(s),<br \/>\n&gt; world of warcraft via wine, unreal tournament 2004. And this is despite<br \/>\n&gt; many patches he sent me to try and tweak it.<\/p>\n<p>You realize that different people get different behaviour, don&#8217;t you?<br \/>\nMaybe not.<\/p>\n<p>People who think SD was &#8220;perfect&#8221; were simply ignoring reality. Sadly,<br \/>\nthat seemed to include Con too, which was one of the main reasons that I<br \/>\nnever ended entertaining the notion of merging SD for very long at all:<br \/>\nCon ended up arguing against people who reported problems, rather than<br \/>\ntrying to work with them.<\/p>\n<p>Andrew also reported an oops in the scheduler when SD was merged into -mm,<br \/>\nso there were other issues.<\/p>\n<p>&gt; As far as im concerned, i may be forced to unofficially maintain SD for<br \/>\n&gt; my own systems(allthough lots in the gaming community is bound to be<br \/>\n&gt; interrested, as it does make games lots better)<\/p>\n<p>You know what? You can do whatever you want to. That&#8217;s kind of the point<br \/>\nof open source. Keep people honest by having alternatives.<\/p>\n<p>But the the thing is, if you want to do a good job of doing that, here&#8217;s a<br \/>\nbig hint: instead of keeping to your isolated world, instead of just<br \/>\ntalking about your own machine and ignoring other peoples machines and<br \/>\nissues and instead of just denying that problems may exist, and instead of<br \/>\nattacking people who report problems, how about working with them?<\/p>\n<p>That was where the SD patches fell down. They didn&#8217;t have a maintainer<br \/>\nthat I could trust to actually care about any other issues than his own.<\/p>\n<p>So here&#8217;s a hint: if you think that your particular graphics card setup is<br \/>\nthe only one that matters, it&#8217;s not going to be very interesting for<br \/>\nanybody else.<\/p>\n<p>[ I realize that this comes as a shock to some of the SD people, but I&#8217;m<br \/>\ntold that there was a university group that did some double-blind<br \/>\ntesting of the different schedulers &#8211; old, SD and CFS &#8211; and that<br \/>\neverybody agreed that both SD and CFS were better than the old, but that<br \/>\nthere was no significant difference between SD and CFS. You can try<br \/>\nasking Thomas Gleixner for more details. ]<\/p>\n<p>I&#8217;m happy that SD was perfect for you. It wasn&#8217;t for others, and it had<br \/>\nnobody who was even interested in trying to solve those issues.<\/p>\n<p>As a long-term maintainer, trust me, I know what matters. And a person who<br \/>\ncan actually be bothered to follow up on problem reports is a *hell* of a<br \/>\nlot more important than one who just argues with reporters.<\/p>\n<p>Linus<\/p>\n<p><strong>From:\tGrzegorz Kulewski<\/strong> [email blocked]<br \/>\nTo:\tLinus Torvalds [email blocked]<br \/>\nSubject: Re: [ck] Re: Linus 2.6.23-rc1<br \/>\nDate:\tSat, 28 Jul 2007 09:09:06 +0200 (CEST)<\/p>\n<p>On Fri, 27 Jul 2007, Linus Torvalds wrote:<br \/>\n&gt; On Sat, 28 Jul 2007, Kasper Sandberg wrote:<br \/>\n&gt;&gt;<br \/>\n&gt;&gt; Im still not so keen about this, Ingo never did get CFS to match SD in<br \/>\n&gt;&gt; smoothness for 3d applications, where my test subjects are quake(s),<br \/>\n&gt;&gt; world of warcraft via wine, unreal tournament 2004. And this is despite<br \/>\n&gt;&gt; many patches he sent me to try and tweak it.<br \/>\n&gt;<br \/>\n&gt; You realize that different people get different behaviour, don&#8217;t you?<br \/>\n&gt; Maybe not.<br \/>\n&gt;<br \/>\n&gt; People who think SD was &#8220;perfect&#8221; were simply ignoring reality. Sadly,<br \/>\n&gt; that seemed to include Con too, which was one of the main reasons that I<br \/>\n&gt; never ended entertaining the notion of merging SD for very long at all:<br \/>\n&gt; Con ended up arguing against people who reported problems, rather than<br \/>\n&gt; trying to work with them.<\/p>\n<p>I don&#8217;t really want to keep all that -ck flamewar going but this sum-up is<br \/>\na little strange for me:<\/p>\n<p>If Con was thinking SD was &#8220;perfect&#8221; why he released 30+ versions of it?<br \/>\nAnd who knows how many versions of his previous scheduler?<\/p>\n<p>Besides Con always tried to help people and improve his code if some bugs<br \/>\nor problems were reported. Archives of this list prove that. I reported<br \/>\nseveral problems (on list and privately) and all were fixed very fast and<br \/>\nwith very kind responses. I had run -ck for months and years and it was<br \/>\nalways very stable (I remember one broken &#8220;stable&#8221; version).<\/p>\n<p>I don&#8217;t know what exactly are you refering to when you say about those<br \/>\nunaddressed reports but maybe it depends on who was asking, how and to do<br \/>\nwhat (for example &#8211; purely theoretical one, I don&#8217;t remember exact emails<br \/>\nyou refering to so I am not saying it happened &#8211; stating at the beginning<br \/>\nthat the whole design is unacceptable and interactivity hacks are a<br \/>\nmust-have won&#8217;t make a friend from any maintainer and for sure lowers his<br \/>\ndesire to get anything fixed for that guy). Or maybe Con had some bad day<br \/>\nor was depressed. Happens. But I really don&#8217;t remember Con ignoring too<br \/>\nmany valuable user reports in last 3 years&#8230;<\/p>\n<p>And no &#8211; I am not thinking that SD was &#8220;perfect&#8221;. Nothing is perfect,<br \/>\nespecially not software. But it was based on months and years of Con&#8217;s<br \/>\nexperience with desktop and gaming workloads and extensively tested in<br \/>\nsimilar uses by _many_ others. In nearly all possible desktop<br \/>\nconfigurations, with most games and all video drivers. This is why it was<br \/>\nperfectly designed and tuned for such workloads while still being general<br \/>\nenough and without any ugly hacks. And because of these tests and Con&#8217;s<br \/>\nbelieve that the desktop is very (most?) important all bugs and problems<br \/>\nin this area were probably killed long ago. I think even design was<br \/>\nchanged and tuned a little at the early stages to help solve such<br \/>\ninteractivity\/dekstop\/gaming problems.<\/p>\n<p>So it does not surprise me that CFS is worse in such workloads (at least<br \/>\nfor some people) because I strongly suspect that the number of people who<br \/>\nplayed games with current version of CFS is limited to about 5, maybe 10.<br \/>\nAnd I also suspect that you (and Ingo) will get many regression reports<br \/>\nwhen 2.6.23 is released (and months later too&#8230; or maybe you won&#8217;t<br \/>\nbecause users will be to &#8220;scared&#8221; to report such hard to mensure and<br \/>\nreproduce &#8220;unimportant&#8221; bugs). Hopefully such problems when reported will<br \/>\nbe addressed as soon as they can. And hopefully they will be easy enough<br \/>\nto solve without rewriting or redesigning CFS and causing that way even<br \/>\nmore regressions in other areas. If not people will probably be patching<br \/>\nO(1) scheduler back privately&#8230;<\/p>\n<p>Thanks,<\/p>\n<p>Grzegorz Kulewski<\/p>\n<p><strong>From:\tLinus Torvalds<\/strong> [email blocked]<br \/>\nSubject: Re: [ck] Re: Linus 2.6.23-rc1<br \/>\nDate:\tSat, 28 Jul 2007 10:12:32 -0700 (PDT)<\/p>\n<p>On Sat, 28 Jul 2007, Jonathan Jessup wrote:<br \/>\n&gt;<br \/>\n&gt; Linus, there is a complaint about the Linux kernel, this complaint is that<br \/>\n&gt; the Linux kernel isn&#8217;t giving priorities to desktop interactivity and<br \/>\n&gt; experience. The response on osnews.com etc have shown that there is public<br \/>\n&gt; demand for it too.<\/p>\n<p>No, the response on osnews.com only shows that there are a lot of armchair<br \/>\ncomplainers around.<\/p>\n<p>People are suggesting that you&#8217;d have a separate &#8220;desktop kernel&#8221;. That&#8217;s<br \/>\ninsane. It also shows total ignorance of maintainership, and reality. And<br \/>\nI bet most of the people there haven&#8217;t tested _either_ scheduler, they<br \/>\njust like making statements.<\/p>\n<p>The fact is, I&#8217;ve _always_ considered the desktop to be the most important<br \/>\npart. And I suspect that that actually is true for most kernel developers,<br \/>\nbecause quite frankly, that&#8217;s what 99% of them ends up using. If a kernel<br \/>\ndeveloper uses Windows for his day-to-day work, I sure as hell wouldn&#8217;t<br \/>\nwant to have him developing Linux. That has nothing to do with anything<br \/>\nanti-windows: but the whole &#8220;eat your own dogfood&#8221; is a very fundamental<br \/>\nthing, and somebody who doesn&#8217;t do that shouldn&#8217;t be allowed to be even<br \/>\n_close_ to a compiler!<\/p>\n<p>So the whole argument about how kernel developers think that the desktop<br \/>\nisn&#8217;t important is totally made-up crap by Con, and then parrotted by<br \/>\nosnews and other places.<\/p>\n<p>The fact is, most kernel developers realize that Linux is used in<br \/>\ndifferent places, on different machines, and with different loads. You<br \/>\ncannot make _everybody_ happy, but you can try to do as good a job as<br \/>\npossible. And doing &#8220;as good a job as possible&#8221; very much includes not<br \/>\nfocusing on any particular load.<\/p>\n<p>And btw, &#8220;the desktop&#8221; isn&#8217;t actually one single load. It&#8217;s in fact a lot<br \/>\nof very different loads, and different people want different things. What<br \/>\nmakes the desktop so interesting is in fact that it shows more varied<br \/>\nusage than any other niche &#8211; and no, 3D gaming isn&#8217;t &#8220;it&#8221;.<\/p>\n<p>&gt; Maybe once or twice Con couldn&#8217;t help or fix an issue but isn&#8217;t that what<br \/>\n&gt; open source software is all about anyway?<\/p>\n<p>That&#8217;s not the issue.<\/p>\n<p>Con wass fixated on one thing, and one thing only, and wasn&#8217;t interested<br \/>\nin anythign else &#8211; and attacked people who complained. Compare that to<br \/>\nIngo, who saw that what Con&#8217;s scheduler did was good, and tried to solve<br \/>\nthe problems of people who complained.<\/p>\n<p>The ck mailing list is\/was also apparently filled with people who all had<br \/>\nthe same issues, which is seriously the *wrong* thing to do. It means that<br \/>\nany &#8220;consensus&#8221; coming out of that kind of private list is totally<br \/>\nworthless, because the people you ask are already in agreement &#8211; you have<br \/>\na so-called &#8220;selection bias&#8221;, and they just reinforce their own opinions.<\/p>\n<p>Which is why I don&#8217;t trust mailing lists with a narrow topic. They are<br \/>\n_useless_. If you cannot get many different people from _different_ areas<br \/>\nto test your patches, and cannot see the big picture, the end result won&#8217;t<br \/>\nlikely be very interesting to others, will it?<\/p>\n<p>The fact is, _any_ scheduler is going to have issues. I will bet you<br \/>\nalmost any amount of money that people are going to complain about Ingo&#8217;s<br \/>\nscheduler when 2.6.23 is released. That&#8217;s not the issue: the issue is that<br \/>\nthe exact same thing would have happened with CK too.<\/p>\n<p>So if you are going to have issues with the scheduler, which one do you<br \/>\npick: the one where the maintainer has shown that he can maintain<br \/>\nschedulers for years, can can address problems from _different_ areas of<br \/>\nlife? Or the one where the maintainer argues against people who report<br \/>\nproblems, and is fixated on one single load?<\/p>\n<p>That&#8217;s really what it boils down to. I was actually planning to merge CK<br \/>\nfor a while. The _code_ didn&#8217;t faze me.<\/p>\n<p>Linus<\/p>\n<hr \/>\n<p><strong>From:\tKasper Sandberg<\/strong> [email blocked]<br \/>\nTo:\tLinus Torvalds [email blocked]<br \/>\nSubject: Re: Linus 2.6.23-rc1<br \/>\nDate:\tSat, 28 Jul 2007 11:44:08 +0200<\/p>\n<p>On Fri, 2007-07-27 at 19:35 -0700, Linus Torvalds wrote:<br \/>\n&gt;<br \/>\n&gt; On Sat, 28 Jul 2007, Kasper Sandberg wrote:<br \/>\n&gt; &gt;<br \/>\n&gt; &gt; Im still not so keen about this, Ingo never did get CFS to match SD in<br \/>\n&gt; &gt; smoothness for 3d applications, where my test subjects are quake(s),<br \/>\n&gt; &gt; world of warcraft via wine, unreal tournament 2004. And this is despite<br \/>\n&gt; &gt; many patches he sent me to try and tweak it.<br \/>\n&gt;<br \/>\n&gt; You realize that different people get different behaviour, don&#8217;t you?<br \/>\n&gt; Maybe not.<\/p>\n<p>Sure.<\/p>\n<p>&gt;<br \/>\n&gt; People who think SD was &#8220;perfect&#8221; were simply ignoring reality. Sadly,<br \/>\n&gt; that seemed to include Con too, which was one of the main reasons that I<br \/>\n&gt; never ended entertaining the notion of merging SD for very long at all:<br \/>\n&gt; Con ended up arguing against people who reported problems, rather than<br \/>\n&gt; trying to work with them.<\/p>\n<p>Im not saying its perfect, not at all, neither am i saying CFS is bad,<br \/>\nsurely CFS is much better than the old one, and i agree with what that<br \/>\nuniversity test you mentioned on kerneltrap says, that CFS and SD is<br \/>\nbasically impossible to feel difference in, EXCEPT for 3d under load,<br \/>\nwhere CFS simply can not compete with SD, theres no but, this is how it<br \/>\nhas acted on every system ive tested, and YES, others reported it too,<br \/>\nwhether you choose to see it or not. and others people who run games on<br \/>\nlinux tells me the exact same thing, and i have had quite a few people<br \/>\ntry this.<\/p>\n<p>&gt;<br \/>\n&gt; Andrew also reported an oops in the scheduler when SD was merged into -mm,<br \/>\n&gt; so there were other issues.<\/p>\n<p>And whats the point here? If you are trying to pull the old &#8220;Con just<br \/>\nruns away&#8221;, forget it, its a certainty that he would have put the<br \/>\nrequired time into fixing whatever issues arise.<\/p>\n<p>&gt;<br \/>\n&gt; &gt; As far as im concerned, i may be forced to unofficially maintain SD for<br \/>\n&gt; &gt; my own systems(allthough lots in the gaming community is bound to be<br \/>\n&gt; &gt; interrested, as it does make games lots better)<br \/>\n&gt;<br \/>\n&gt; You know what? You can do whatever you want to. That&#8217;s kind of the point<br \/>\n&gt; of open source. Keep people honest by having alternatives.<\/p>\n<p>True that<\/p>\n<p>&gt;<br \/>\n&gt; But the the thing is, if you want to do a good job of doing that, here&#8217;s a<br \/>\n&gt; big hint: instead of keeping to your isolated world, instead of just<br \/>\n&gt; talking about your own machine and ignoring other peoples machines and<br \/>\nFirst off, i&#8217;ve personally run tests on many more machines than my own,<br \/>\ni&#8217;ve had lots of people try on their machines, and i&#8217;ve seen totally<br \/>\nunrelated posts to lkml, plus i&#8217;ve seen the experiences people are<br \/>\nwriting about on IRC. Frankly, im not just thinking of myself.<\/p>\n<p>&gt; issues and instead of just denying that problems may exist, and instead of<br \/>\n&gt; attacking people who report problems, how about working with them?<\/p>\n<p>As i recall, there was only 1 persons reports that were attacked, and<br \/>\nthat was because the person repeatedly reported the EXPECTED behavior as<br \/>\nbroken, simply because it was FAIRLY allocating the cpu time, and this<br \/>\ndid not meet with the dudes expectations. And it was after multiple<br \/>\nmails he was &#8220;attacked&#8221;<\/p>\n<p>&gt;<br \/>\n&gt; That was where the SD patches fell down. They didn&#8217;t have a maintainer<br \/>\n&gt; that I could trust to actually care about any other issues than his own.<\/p>\n<p>You may not have been able to trust Con, but thats because you havent<br \/>\ntaken the time to actually really see whats been going on, if you just<br \/>\nread the threads for SD you&#8217;d realize that he was more than willing to<br \/>\nmaintain it, after all, why do you think he wrote and submitted it? you<br \/>\nthink he just wrote it to piss you off by having it merged and leave?<\/p>\n<p>&gt;<br \/>\n&gt; So here&#8217;s a hint: if you think that your particular graphics card setup is<br \/>\n&gt; the only one that matters, it&#8217;s not going to be very interesting for<br \/>\n&gt; anybody else.<\/p>\n<p>as explained earlier, its not just my particular setup, but actually<br \/>\nthat of alot of people, with lots of different hardware.<\/p>\n<p>&gt;<br \/>\n&gt;<br \/>\n&gt; [ I realize that this comes as a shock to some of the SD people, but I&#8217;m<br \/>\n&gt;   told that there was a university group that did some double-blind<br \/>\n&gt;   testing of the different schedulers &#8211; old, SD and CFS &#8211; and that<br \/>\n&gt;   everybody agreed that both SD and CFS were better than the old, but that<br \/>\n&gt;   there was no significant difference between SD and CFS. You can try<br \/>\n&gt;   asking Thomas Gleixner for more details. ]<br \/>\n&gt;<br \/>\n&gt; I&#8217;m happy that SD was perfect for you. It wasn&#8217;t for others, and it had<br \/>\n&gt; nobody who was even interested in trying to solve those issues.<br \/>\n&gt;<br \/>\n&gt; As a long-term maintainer, trust me, I know what matters. And a person who<br \/>\n&gt; can actually be bothered to follow up on problem reports is a *hell* of a<br \/>\n&gt; lot more important than one who just argues with reporters.<\/p>\n<p>Okay, i wasnt going to ask, but ill do it anyway, did you even read the<br \/>\nthreads about SD? Con was extremely polite to everyone, and he did work<br \/>\nwith a multitude of people, you seem to be totally deadlocked into the<br \/>\nONE incident with a person that was unhappy with SD, simply for being a<br \/>\nfair scheduler.<\/p>\n<p><strong>From:\tLinus Torvalds<\/strong> [email blocked]<br \/>\nTo:\tKasper Sandberg [email blocked]<br \/>\nSubject: Re: Linus 2.6.23-rc1<br \/>\nDate:\tSat, 28 Jul 2007 10:50:48 -0700 (PDT)<\/p>\n<p>On Sat, 28 Jul 2007, Kasper Sandberg wrote:<br \/>\n&gt;<br \/>\n&gt; First off, i&#8217;ve personally run tests on many more machines than my own,<br \/>\n&gt; i&#8217;ve had lots of people try on their machines, and i&#8217;ve seen totally<br \/>\n&gt; unrelated posts to lkml, plus i&#8217;ve seen the experiences people are<br \/>\n&gt; writing about on IRC. Frankly, im not just thinking of myself.<\/p>\n<p>Ok, good. Has anybody tried to figure out why 3D games seem to be such a<br \/>\nspecial case?<\/p>\n<p>I know Ingo looked at it, and seemed to think that he found and fixed<br \/>\nsomething. But it sounds like it&#8217;s worth a lot more discussion.<\/p>\n<p>&gt; Okay, i wasnt going to ask, but ill do it anyway, did you even read the<br \/>\n&gt; threads about SD?<\/p>\n<p>I don&#8217;t _ever_ go on specialty mailing lists. I don&#8217;t read -mm, and I<br \/>\ndon&#8217;t read the -fs mailing lists. I don&#8217;t think they are interesting.<\/p>\n<p>And I tried to explain why: people who concentrate on one thing tend to<br \/>\nbecome this self-selecting group that never looks at anything else, and<br \/>\nthen rejects outside input from people who hadn&#8217;t become part of the &#8220;mind<br \/>\nmeld&#8221;.<\/p>\n<p>That&#8217;s what I think I saw &#8211; I saw the reactions from where external people<br \/>\nwere talking and cc&#8217;ing me.<\/p>\n<p>And yes, it&#8217;s quite possible that I also got a very one-sided picture of<br \/>\nit. I&#8217;m not disputing that. Con was also ill for a rather critical period,<br \/>\nwhich was certainly not helping it all.<\/p>\n<p>&gt; Con was extremely polite to everyone, and he did work<br \/>\n&gt; with a multitude of people, you seem to be totally deadlocked into the<br \/>\n&gt; ONE incident with a person that was unhappy with SD, simply for being a<br \/>\n&gt; fair scheduler.<\/p>\n<p>Hey, maybe that one incident just ended up being a rather big portion of<br \/>\nwhat I saw. Too bad. That said, the end result (Con&#8217;s public gripes about<br \/>\nother kernel developers) mostly reinforced my opinion that I did the right<br \/>\nchoice.<\/p>\n<p>But maybe you can show a better side of it all. I don&#8217;t think _any_<br \/>\nscheduler is perfect, and almost all of the time, the RightAnswer(tm) ends<br \/>\nup being not &#8220;one or the other&#8221;, but &#8220;somewhere in between&#8221;.<\/p>\n<p>It&#8217;s not like we&#8217;ve come to the end of the road: the baseline has just<br \/>\nimproved. If you guys can show that SD actually is better at some loads,<br \/>\nwithout penalizing others, we can (and will) revisit this issue.<\/p>\n<p>So what you should take away from this is that: from what I saw over the<br \/>\nlast couple of months, it really wasn&#8217;t much of a decision. The difference<br \/>\nin how Ingo and Con reacted to peoples reports was pretty stark. And no, I<br \/>\nhaven&#8217;t followed the ck mailing list, and so yes, I obviously did get just<br \/>\na part of the picture, but the part I got was pretty damn unambiguous.<\/p>\n<p>But at the same time, no technical decision is ever written in stone. It&#8217;s<br \/>\nall a balancing act. I&#8217;ve replaced the scheduler before, I&#8217;m 100% sure<br \/>\nwe&#8217;ll replace it again. Schedulers are actually not at all that important<br \/>\nin the end: they are a very very small detail in the kernel.<\/p>\n<p><!--\n\n\n<div class=\"author\">Submitted by <a href=\"\/user\/1\" title=\"View user profile.\">Jeremy<\/a><\/div>\n\n\n-->\t\t\t\tLinus<\/p><\/blockquote>\n<p>That is all for today!<\/p>\n<p>Ryan<\/p>\n","protected":false},"excerpt":{"rendered":"<p>here is a story on Slashdot: \u00a0 Firedog writes &#8220;There&#8217;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 [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[35],"tags":[],"_links":{"self":[{"href":"https:\/\/ryanorser.com\/index.php\/wp-json\/wp\/v2\/posts\/136"}],"collection":[{"href":"https:\/\/ryanorser.com\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/ryanorser.com\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/ryanorser.com\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/ryanorser.com\/index.php\/wp-json\/wp\/v2\/comments?post=136"}],"version-history":[{"count":0,"href":"https:\/\/ryanorser.com\/index.php\/wp-json\/wp\/v2\/posts\/136\/revisions"}],"wp:attachment":[{"href":"https:\/\/ryanorser.com\/index.php\/wp-json\/wp\/v2\/media?parent=136"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/ryanorser.com\/index.php\/wp-json\/wp\/v2\/categories?post=136"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/ryanorser.com\/index.php\/wp-json\/wp\/v2\/tags?post=136"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}