I hear what you're saying, Linus, but...
|
Author | Content |
---|---|
dinotrac Aug 01, 2007 5:24 AM EDT |
Disclaimer: The very first time I ever heard Linus speak, at Linuxworld 2000 in New York, he said that Userland was the most important area for Linux advancement. It was about the applications, stupid. I don't remember if he made specific reference to the desktop, but "world domination" implies getting desktops, as they outnumber everything else by a healthy margin. With that out of the way, a couple of points: 1. There's caring and there's caring. A lot of bread gets buttered on the server side and a lot of resources get directed there. That's not the same thing as not caring about the desktop, it's about taking care of business with the time and resources available. 2. There's what you can see and what you can measure. "Smoothness" isn't that easy to quantify, and small, seemingly insignificant, problems can create real problems. Audio performance is the classic case. Audio is far less demanding on resources than video, but our ears are far more sensitive to audio glitches than our eyes are to video. Think of Ingo's tests on the patched-up and improved CFS: game-playing framerates. Looked good. Very good. At the same time, nothing in those numbers would tell you if the audio was or was not plagued by hitches or "just didn't sound right." Much of what makes a pleasant desktop is subjective, and subjective tends to lose out to the objective. Partly human nature, partly a matter of being able to define success. 3. The comment on the wide variety of workloads. Linux is pressed into a wide number of applications, but Linux's comment may be skirting one of Con's points: can one size fit all? Con wanted a pluggable scheduler, but the real issue is being able to set up a desktop OS that might not do so well on a server or a server OS that might not do so well on a desktop. As it is, a number of Linux distros make multiple kernels available. Adding a scheduler into the "in or out" mix is not exactly a sea change. |
tracyanne Aug 01, 2007 6:28 PM EDT |
Quoting:Con's points: can one size fit all? Con wanted a pluggable scheduler I think this is the point that Linus and the main kernel developers are missing. One size does not fit. I think too much emphasis is be placed on making the kernel all things to all people. Quoting:Adding a scheduler into the "in or out" mix is not exactly a sea change. Hardly, and if one or another scheduler improves the subjective experience of the desktop regardless of the Objective measurements, then that has to be the right scheduler for the job at hand. |
gus3 Aug 01, 2007 10:21 PM EDT |
Disclaimer: I am not a kernel programmer. I am at best a wannabe. I browse kernel code as a hobby, the same way I study the genealogies of Indo-European languages. Now, with that out of the way...Quoting:Adding a scheduler into the "in or out" mix is not exactly a sea changeExcept that it touches absolutely every single process on the system. No matter the OS, no matter the hardware. If you make the scheduler configurable, whether at run time, boot time, or compile time, there will be a certain amount of framework necessary to make the parts interchangeable... and that framework will itself need testing and verification... Remember adding compile-time clock frequency choices? It took a lot of work to weed out the kernel code that was assuming 100 Hz, or even didn't assume it but started mis-behaving with different frequencies. The scheduler change may not need that depth of analysis, but I think it will be a greater task than you seem to state. (At least, as things stand right now.) Re-read disclaimer above. I may be totally out of my depth here. |
dinotrac Aug 02, 2007 3:18 AM EDT |
>Except that it touches absolutely every single process on the system. Which is not the same as saying it touches every piece of code in the system. Remember, the original CFS was coded up in a day or so. One of the reasons Ingo wrote the CFS is because he thought that Con's scheduler touched too many files in too many places. He wanted a less-intrusive change, which means, umm, that a scheduler change need not be so intrusive. Even so, an active patch set for a completely different scheduler has been maintained by a single individual for quite some time. Methinks some mechanism for in/out should be doable. |
hkwint Aug 02, 2007 3:42 PM EDT |
Quoting:Methinks some mechanism for in/out should be doable. If you mean choosing the scheduler when configuring the kernel: Well, it exists, and it's on my harddisk right now. It's in the overlay of Gentoo, usually meaning Gentoo deemed it too EXPERIMENTAL to include, or nobody at Gentoo wanted to maintain the package, or could get it to work. However, one wonders why CFS and Tickless are added to the kernel almost 'out of the blue', and some framework which selects the kernel scheduler at boot time "can't be since it isn't tested enough"? Well, I'm glad not having to decide about these issues, since there will always be some people being angry; and the problem is angry people scream harder than glad people. BTW Unix nor Multics were invented for the desktop, since the desktop didn't even exist back then. However, Windows _was_ designed for the desktop, as far as I know. Keeping that in mind, Linux isn't doing a bad job on the desktop, does it? |
jezuch Aug 02, 2007 3:47 PM EDT |
Quoting:and some framework which selects the kernel scheduler at boot time "can't be since it isn't tested enough"? It's not the issue with plugsched. http://kerneltrap.org/node/14019 I kinda understand his position, but... |
dinotrac Aug 02, 2007 6:42 PM EDT |
The key is if it works "well enough" -- and well enough is a moving target.
Mutlimedia stuff especially puts a load on desktop use -- not just a load, but a load that isn't very tolerant of glitches. Servers are far less critical. If you get, say, 100 transactions per second or sub-second response time, or whatever your target is, nobody cares if the actual rate within the second varies between 85-115 per second. Screw up desktop audio or video the same way, and you risk noticeable artifacts. So -- if CFS really servers up desktops well enough, FANTASTIC!!! If not, well...let's not get ahead of ourselves. |
Abe Aug 02, 2007 6:59 PM EDT |
Linus is perfect in his response here. I totally agree and I have said it in one of my posts when I totally disagreed with the idea of having two schedulers one for server and another for desktop.Quoting:Gus3 said: Except that it touches absolutely every single process on the system. No matter the OS, no matter the hardware.So true and that is another good reason why there shouldn't be two different schedulers. Maintaining two different schedulers is not an easy and trivial prospect, it is a nightmare. Furthermore, pluggable modules concept is for the birds. Suppose some one else didn't like the memory management and they create their own to plug-in. Others don't like some other modules and they create their own. How many different Linux kernels would we end up with? Wouldn't that lead to the same fate as UNIX? What would we do then? I based my thoughts on my experience with VMS, where system parameters tuning is based on performance data collected over a few month period of real system operation. Just like creating a trend to make intelligent decisions. This is a tried and proven process and produces the best results not only per group, but also per server or desktop. This is going to take time but it will happen. Linus's approach is perfect. Let the scheduler code evolve and eventually combine the best in a one scheduler where parameters are used to further tune not just the scheduler, but many other aspects of the kernel. Quoting:This is also, btw, why I think that people who argue for splitting desktop kernels from server kernels are total morons, and only show that they don't know what the hell they are talking about. Linus can say that and get away with it, I wouldn't dare! :) OK Linus, you are on a roll. How about GPL3 for the kernel now? Duck! |
dinotrac Aug 02, 2007 8:00 PM EDT |
>Maintaining two different schedulers is not an easy and trivial prospect, it is a nightmare. Umm.... It was done. Con maintained a scheduler under worse conditions that the usual suspects would endure because he had to live on the backend of the process and adjust his to whatever "they" might be doing at the moment. Not as simple as maintaining one scheduler, but nightmare? Please. And... What if it is a nightmare? If, against all hope, neither the CFS nor any other scheduler can deliver the smoothness needed to deliver a truly satisfying desktop, does that mean Linux is not meant for most desktops? Does it mean a fork? What, exactly does it mean? I'm a little skeptical of the notion that a good general purpose scheduler can't be great on the desktop. After all, Apple desktops are very smooth and responsive. Of course, they might be as good for servers as Linux and they don't rely on X. Still... |
tracyanne Aug 02, 2007 8:52 PM EDT |
Quoting:This is also, btw, why I think that people who argue for splitting desktop kernels from server kernels are total morons, and only show that they don't know what the hell they are talking about. This is a straw man argument Linus. The real issue is whether or not there is a scheduler that gives smooth and responsive desktop experience. |
tuxchick Aug 02, 2007 9:09 PM EDT |
Maybe I missed it in all the discussion, and maybe it's a naive question, but here goes- why would a fork be necessary? The Linux kernel is already tunable to a degree for different purposes, so why not have some different compile-time options for desktops and servers? I don't think it's cute anymore when Linus calls people names. It's not necessary, and it's not productive. I follow the LKML a lot, and he's the only one of the regulars who is consistently abusive. Every now and then someone will drop in with some attitude, but they get set straight pretty quickly. Only Linus gets a free pass to be a butthead. He was ranting about Con Kolivas being difficult to work with. Maybe it wasn't Con; maybe Linus needs to do a little self-examination. |
jacog Aug 03, 2007 1:56 AM EDT |
Perhaps Mr Torvalds is getting old and cranky now. The idealism and optimism has worn off, and all that is left is someone fast en route to becoming a bitter old man, broken and stained by the nasty world of big business. His wish to just focus on the technology and stay out of the politics and business has not been granted. He has become a part of the latter two whether he likes it or not, and that's like being caged. If at any point you feel worried about the players on this team, just go to YouTube and find some Steve Ballmer interviews. He has a constant look of hatred in his eyes, like he despises everything and everyone. It'll either make you think Linus isn't so bad, or make you wonder if that's him in a few years. |
dinotrac Aug 03, 2007 3:02 AM EDT |
>His wish to just focus on the technology and stay out of the politics and business has not been granted. Maybe it's the realization that somebody who truly cares about the technology -- really cares deep down -- cannot stay out of the politics because technology tends to serve a purpose, and realization of purpose requires interacting with people and dealing with their needs -- like nice desktops. |
tuxchick Aug 03, 2007 8:02 AM EDT |
If you follow the whole thread on LKML, Linus is all over the place. Early in the thread he says:Quoting: [Linus] I was actually planning to merge CK for a while. The _code_ didn't faze me. Then he admits he's really not all that informed about SD: Quoting: [Kasper Sandberg] > Okay, i wasnt going to ask, but ill do it anyway, did you even read the > threads about SD? So the moral is Linus can call people stupid and morons, but no one else is allowed to criticize kernel devs, and poorly-informed opinions are valid. For Linus. Quoting: [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. Several devs took polite issue with Linus' gripes against Con: Quoting: [Grzegorz Kulewski] I don't really want to keep all that -ck flamewar going but this sum-up is a little strange for me: Quoting: [Martin Steigerwald] So I think your statements here are simply not accurate and also not fair, cause I have the impression that you did not look carefully before writing them. Linus is not a deity and the old FOSS myth that "the best code wins" is still a myth. http://lkml.org/lkml/2007/7/22/218 |
Abe Aug 03, 2007 10:39 AM EDT |
Quoting:He was ranting about Con Kolivas being difficult to work with. Maybe it wasn't Con; maybe Linus needs to do a little self-examination. I agree fully and may I add, that someone needs to suggest to Linus to take Dale Carnegie training. He desperately needs it. |
Abe Aug 03, 2007 11:05 AM EDT |
Quoting:Not as simple as maintaining one scheduler, but nightmare? Please.Yes it could become a nightmare. The new schedulers didn't get out in the wild yet. We will see what happens then. We don't know for sure what will happen, but when users start pushing new releases of the kernel with lots of revised code, we will definitely have a good feel about it. Quoting:I'm a little skeptical of the notion that a good general purpose scheduler can't be great on the desktop. After all, Apple desktops are very smooth and responsive. Of course, they might be as good for servers as Linux and they don't rely on X.Sounds very reasonable. Let us wait and see how CFS works out for both servers and desktop. May be with little enhancement and a little more tuning CFS will get us what we want and expect in server performance and desktop smoothness. That is what Linus is saying and I agree with. Quoting:If, against all hope, neither the CFS nor any other scheduler can deliver the smoothness needed to deliver a truly satisfying desktop, does that mean Linux is not meant for most desktops? Does it mean a fork? What, exactly does it mean? It hasn't be tried yet. The thing that needs to happen is let various developers work on various schedulers, evaluate and compare, then see what happens. Again, that is what Linus is saying and I agree with. Again, having multiple modules of certain functionality is dangerous and will lead Linux to the same destiny as of Unix. That is something we definitely DON'T want. |
herzeleid Aug 03, 2007 1:13 PM EDT |
I see valid points on both sides. Technically, Linus may not have been wrong here, and time may well show that CFS was the correct choice - but even if that turns out to be the case, to discourage and drive away someone of Con's talent was a damn shame. Linus definitely should have handled that better from a people standpoint. |
dinotrac Aug 03, 2007 5:58 PM EDT |
>to discourage and drive away someone of Con's talent was a damn shame. Especially when the jury is still out on the technical questions. |
beirwin Aug 03, 2007 6:19 PM EDT |
>Linus definitely should have handled that better from a people standpoint. Absolutely. The list of kernel developers who have left abruptly is far too long and the resulting loss of skills is a problem for Linux. |
Posting in this forum is limited to members of the group: [ForumMods, SITEADMINS, MEMBERS.]
Becoming a member of LXer is easy and free. Join Us!