I hear what you're saying, Linus, but...

Story: Torvalds rebukes desktop criticsTotal Replies: 18
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 change
Except 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?

[Linus] 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 yes, it's quite possible that I also got a very one-sided picture of it....

> Con was extremely polite to everyone, and he did work > with a multitude of people, you seem to be totally deadlocked into the > ONE incident with a person that was unhappy with SD, simply for being a > fair scheduler.

Hey, maybe that one incident just ended up being a rather big portion of what I saw. Too bad. That said, the end result (Con's public gripes about other kernel developers) mostly reinforced my opinion that I did the right choice.


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:

If Con was thinking SD was "perfect" why he released 30+ versions of it? And who knows how many versions of his previous scheduler?

Besides Con always tried to help people and improve his code if some bugs or problems were reported. Archives of this list prove that. I reported several problems (on list and privately) and all were fixed very fast and with very kind responses. I had run -ck for months and years and it was always very stable (I remember one broken "stable" version).


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.

You speak about working together, but now I ask you: Did you ever have a personal word with Con, did you ever tell him that you don't trust that he can maintain the SD scheduler when its mainline? Did you ever outspoke your concerns to *him*?

Granted, from a health point of view and maybe also from looking at how much time a maintainer will be able to spend more time on the scheduler Ingo *may* can do more than Con - if he doesn't do too much else;-). But looking at personal committment actually I saw no difference between Con and Ingo.

So while it may be good that CFS went in from that point of view, the way the decision was made was very suitable to piss off a very talented developer.


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.

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?
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.

Still...
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!