Linked by Thom Holwerda on Wed 1st Aug 2007 22:54 UTC, submitted by Anonumous
Linux Some of the concerns expressed about CFS were reports that it might not handle 3D games as well as the SD scheduler. In a recent thread, Ingo Molnar noted, "people are regularly testing 3D smoothness, and they find CFS good enough and that matches my experience as well (as limited as it may be). In general my impression is that CFS and SD are roughly on par when it comes to 3D smoothness." He noted that all known regressions were reported against earlier versions of CFS that had long since been fixed, and that he was very interested in any new reports of regressions against the current version of the code, "there are no open 3D related regressions for CFS at the moment." Ingo then offered benchmarks illustrating the improved 3D performance of CFS, with numbers showing it to perform as well and in some cases considerably better than the SD scheduler.
Order by: Score:
Ingo Molnar
by jjmckay on Wed 1st Aug 2007 23:13 UTC
jjmckay
Member since:
2005-11-11

Just note that Ingo Molnar developed CFS and not SD so of course he's going to want CFS to look as good as possible. I'm glad the spotlight is *finally* on the Linux kernel's impact on desktop interactivity & responsiveness. For so very long, Linus himself denounced such activities as something that was unable to benchmark or prove one kernel scheduler helped over another. It's a win-win situation as far as I'm concerned.

Edited 2007-08-01 23:14

Reply Score: 15

RE: Ingo Molnar
by butters on Thu 2nd Aug 2007 04:27 UTC in reply to "Ingo Molnar"
butters Member since:
2005-07-08

I think this has been a healthy experience for the kernel community. Linus made the right decision by going with the more consistent scheduler and maintainer. But more importantly, the controversy ignited the desktop enthusiast crowd and got them involved in the debate. It reminded the elite kernel hackers that they have to be responsive (no pun intended) to the desktop userbase.

Con ended up getting exactly what he and his fans wanted: a chance to air their grievances and gain exposure for their cause. The kernel community needs a real desktop lobby, so to speak, and while CK is gone (for now), he leaves behind a genuine movement that should continue where he left off. Juicy patches like swap prefetch won't go away. In fact, the political aftermath of SD may help pave a smoother path to mainline acceptance.

The fact of the matter is that there's a lot going on in the kernel for desktop users. Power management, suspend/hibernate, kernel preempt notification, wifi, firewire, and more. Much of the virtualization and process container work is useful for desktop users.

Unfortunately, though, there's a lot more we can do in the kernel to improve server workloads. The vast majority of the issues facing desktop users fall on the userspace side of the operating system. Xorg, GNOME/KDE, GCC, Parrot/Mono/Java--these are the kinds of projects with high potential payoff for desktop users.

Finally, desktop enthusiasts need to gain a better understanding of how to submit good bug reports. Distribution projects are key to making this happen. There should be a forum-like method for linking less experienced users encountering bugs with advanced users that can help them gather the information required for a quality bug report. Developers will address thorough bug reports before they track down the vague complaints.

Reply Score: 14

RE[2]: Ingo Molnar
by netpython on Thu 2nd Aug 2007 09:41 UTC in reply to "RE: Ingo Molnar"
netpython Member since:
2005-07-06

The fact of the matter is that there's a lot going on in the kernel for desktop users. Power management, suspend/hibernate, kernel preempt notification, wifi, firewire, and more. Much of the virtualization and process container work is useful for desktop users.

What is also useful is a fast CPU-GPU combo.

Reply Score: 3

RE[2]: Ingo Molnar
by sbergman27 on Thu 2nd Aug 2007 11:57 UTC in reply to "RE: Ingo Molnar"
sbergman27 Member since:
2005-07-24

"""
It reminded the elite kernel hackers that they have to be responsive (no pun intended) to the desktop userbase.
"""

Just one comment here. The elite kernel hackers *are* part of the desktop userbase. And with a fairly demanding workload, at that. Does anyone think that they do not ever do desktop things with a compile or two running in the background?

As Linus put it:

""
The fact is, I've _always_ considered the desktop to be the most important
part. And I suspect that that actually is true for most kernel developers,
because quite frankly, that's what 99% of them ends up using. If a kernel
developer uses Windows for his day-to-day work, I sure as hell wouldn't
want to have him developing Linux. That has nothing to do with anything
anti-windows: but the whole "eat your own dogfood" is a very fundamental
thing, and somebody who doesn't do that shouldn't be allowed to be even
_close_ to a compiler!

""

Reply Score: 7

RE[3]: Ingo Molnar
by Anonumous on Thu 2nd Aug 2007 14:49 UTC in reply to "RE[2]: Ingo Molnar"
Anonumous Member since:
2007-06-13

Linus's whole post is here:

http://lkml.org/lkml/2007/7/28/106

Reply Score: 1

RE: Ingo Molnar
by martinus on Thu 2nd Aug 2007 05:53 UTC in reply to "Ingo Molnar"
martinus Member since:
2005-07-06

Ingo Molnar developed CFS and not SD so of course he's going to want CFS to look as good as possible


That's not true. Ingo himself wrote that he is a lot more interested in regression reports than praise, because this gives him the opportunity to improve the scheduler.

Reply Score: 5

Difference was gaming w/ and w/o WINE, too
by MadRat on Wed 1st Aug 2007 23:24 UTC
MadRat
Member since:
2006-02-17

Ingo was running his simulations under WINE whereas he didn't want to run them directly within the Linux versions. Not sure if that made a difference, but I'd have to guess it makes some.

Nevertheless its more than fine they have CFS as the standard. Quite frankly this controversy means little in the long run.

Reply Score: 4

SlackerJack Member since:
2005-11-12

I think if it's smooth under WINE then it will be better native. WINE sits on top of OpenGL so actually it's a good way to get something smooth. It's not like kernel devs have done nothing for desktop users, we have udev, preemption(lower latency), Hz control, memory spit(no high mem for 1Gb reducing overhead) and now a new scheduler.

Not sure if they will go lower level since linus thinks server and desktop have profited from being the same kernel.

Reply Score: 7

Jimbo Member since:
2005-07-22

memory spit(no high mem for 1Gb reducing overhead)


The memory split config option went away in 2.6.20 or 2.6.21, Linus thought it was too confusing.

Reply Score: 1

SlackerJack Member since:
2005-11-12

I compiled 2.6.22 in slackware and memory split was there.

Reply Score: 2

SEJeff Member since:
2005-11-05

If you read the full thread (check out http://thread.gmane.org/gmane.linux.kernel ) you will see Ingo say that he did benchmarks in wine because wine is more complex. It requires a server / client design with stresses a scheduler (like CFS or SD) harder.

Reply Score: 8

Now we just need some ports
by Phloptical on Thu 2nd Aug 2007 00:49 UTC
Phloptical
Member since:
2006-10-10

....of some good games. Not garbage like Quake 4.

Reply Score: 1

RE: Now we just need some ports
by sbergman27 on Thu 2nd Aug 2007 01:00 UTC in reply to "Now we just need some ports"
sbergman27 Member since:
2005-07-24

"""
Not garbage like Quake 4.
"""

The textures were a bit shabby. The conceited nerd tech guy was irritating and a bit overused. But the game was fun. Just more resource intensive than it needed to be.

Reply Score: 7

RE: Now we just need some ports
by asdx24 on Thu 2nd Aug 2007 02:05 UTC in reply to "Now we just need some ports"
asdx24 Member since:
2007-05-17

You are just sad because Quake 4 doesn't run in your computer.

Reply Score: 3

RE[2]: Now we just need some ports
by fffffh on Thu 2nd Aug 2007 07:25 UTC in reply to "RE: Now we just need some ports"
fffffh Member since:
2006-01-04

You are just sad because Quake 4 doesn't run in your computer.

You mean only on computers on steroids.

Reply Score: 2

Phloptical Member since:
2006-10-10

Actually, I'm sad because I keep playing the same game for the past 15 years and wonder why it's only the titles that change.

FPSs need to be led out behind the barn and shot.

Reply Score: 1

RE: Now we just need some ports
by WereCatf on Thu 2nd Aug 2007 03:58 UTC in reply to "Now we just need some ports"
WereCatf Member since:
2006-02-15

....of some good games. Not garbage like Quake 4.

I liked Quake 4 ;) It isn't the best game I've played but it was still very enjoyable ^^ But sure, I agree, we need some good ports ;)

Reply Score: 4

RE[2]: Now we just need some ports
by Guest on Thu 2nd Aug 2007 16:00 UTC in reply to "RE: Now we just need some ports"
Guest Member since:
2007-08-02

I liked Quake 4 ;) It isn't the best game I've played but it was still very enjoyable ^^ But sure, I agree, we need some good ports ;)



GOW for example ;)

http://forums.epicgames.com/showthread.php?t=574826

Reply Score: 1

RE: Now we just need some ports
by Darkelve on Thu 2nd Aug 2007 06:46 UTC in reply to "Now we just need some ports"
Darkelve Member since:
2006-02-06

Never played Quake 4, but judging from the other comments here it's not that bad.

I do agree though, that there needs to be more games for Linux... and more high-profile ones too if possible.

Reply Score: 3

NIH syndrom ?
by pseudocode on Thu 2nd Aug 2007 09:14 UTC
pseudocode
Member since:
2007-05-30

Ok. So Ingo developed frow scratch the CFS and, after many updates, his CFS is now "as good" as SD.

And the question is: why didn't he work with Con on the original SD code ?

Reply Score: 4

RE: NIH syndrom ?
by Rahul on Thu 2nd Aug 2007 10:12 UTC in reply to "NIH syndrom ?"
Rahul Member since:
2005-07-06

A history lesson or even reading a bit of the older threads would tell you the answer. Both SD and CFS were comparable while SD performed better in some areas and CFS in others. After CFS got merged, Ingo did some work to get a better performance with it in one specific instance (ie) those playing 3D games.

Ingo also wrote the previous 0(1)scheduler and everyone now agrees that either one of SD or CFS performs better so improvements have been made.

Reply Score: 2

RE[2]: NIH syndrom ?
by pseudocode on Thu 2nd Aug 2007 10:38 UTC in reply to "RE: NIH syndrom ?"
pseudocode Member since:
2007-05-30

A history lesson or even reading a bit of the older threads would tell you the answer.


A "history lesson" taught me that SD exists for 2 years, and CFS since April 2007.

I'm very happy to see that the "desktop point of view" is a subject of concern for the kernel developers.

But i'm very sad to see that the lklm mantra is "Stole Idea, Recode everything".

Edited 2007-08-02 10:39

Reply Score: 1

RE[3]: NIH syndrom ?
by lucke on Thu 2nd Aug 2007 10:50 UTC in reply to "RE[2]: NIH syndrom ?"
lucke Member since:
2007-01-07

First public SD version (then called RSDL; fair scheduler) was released not that long before CFS (5 Feb vs 13 Apr 2007). It's the old staircase (which supplied Con with some ideas for RSDL) that's been out for a substantially longer time.

Edited 2007-08-02 10:57

Reply Score: 3

RE[3]: NIH syndrom ?
by sbergman27 on Thu 2nd Aug 2007 12:56 UTC in reply to "RE[2]: NIH syndrom ?"
sbergman27 Member since:
2005-07-24

"""
But i'm very sad to see that the lklm mantra is "Stole Idea, Recode everything".
"""

Now that we are getting past all the purely subjective and thoroughly placebo-laced "feels more responsive to me" BS and down to actual numbers, it looks like the rewrite has had some benefits. It may be that SD could be modified to do better, as the sched yield NOP patch suggests. But we'll never really know now, since SD is unmaintained.

Reply Score: 3

RE[3]: NIH syndrom ?
by benir0 on Thu 2nd Aug 2007 15:54 UTC in reply to "RE[2]: NIH syndrom ?"
benir0 Member since:
2006-07-26

A "history lesson" taught me that SD exists for 2 years, and CFS since April 2007.

I'm very happy to see that the "desktop point of view" is a subject of concern for the kernel developers.

But i'm very sad to see that the lklm mantra is "Stole Idea, Recode everything".


The first public versions of each were about two months apart.

I think your characterization of the development process on lklm and cfs in particular is rather ridiculous. Con stole to the degree that Ingo did, certainly. It's not like these are the first schedulers ever written. Step back a moment...it's a good thing to have choice in terms of what makes the kernel, not a bad thing.

Reply Score: 1

RE[4]: NIH syndrom ?
by pseudocode on Thu 2nd Aug 2007 16:50 UTC in reply to "RE[3]: NIH syndrom ?"
pseudocode Member since:
2007-05-30

I think your characterization of the development process on lklm and cfs in particular is rather ridiculous. Con stole to the degree that Ingo did, certainly. It's not like these are the first schedulers ever written. Step back a moment...it's a good thing to have choice in terms of what makes the kernel, not a bad thing.


After reading both codes, I have to say that the Ingo's code is better (far better) than the Con's code. Ingo is a very great developer. And (I repeat) I'am very happy to see that Desktop does matter for the kernel guys.

But I also remember that Con (and others) did complain about the o(1) scheduler (for desktop/game) and Ingo ignored them. I remember that Con wrote & sent patches and Ingo ignored them. And, at last, I remember that Ingo proudly announced his CFS, coded alone and closed-door, with a short thank for Con's efforts in a readme.

I don't see Con as a poor victim, but I don't see Ingo as a perfect gentleman

Be "Completely Fair" is not only for schedulers ;-)

Reply Score: 3

RE[5]: NIH syndrom ?
by sbergman27 on Thu 2nd Aug 2007 19:04 UTC in reply to "RE[4]: NIH syndrom ?"
sbergman27 Member since:
2005-07-24

"""
Be "Completely Fair" is not only for schedulers ;-)
"""

I think I will forever remember Con as "that guy whose fan base turned LKML into a soap opera".

A little more talk about code and a little less gossip about personalities, people!

http://article.gmane.org/gmane.linux.kernel/563655

Edited 2007-08-02 19:04

Reply Score: 3

RE[6]: NIH syndrom ?
by pseudocode on Thu 2nd Aug 2007 20:11 UTC in reply to "RE[5]: NIH syndrom ?"
pseudocode Member since:
2007-05-30

I think I will forever remember Con as "that guy whose fan base turned LKML into a soap opera".


It's quite true. More important than the "Con vs Ingo" fight, it's the final result. We now have a better scheduler for Desktop/3D applications.

My thoughts are:
- Is it the begining of a complete "desktop oriented" refactor of the kernel code ?
- Is it just a "one shot" update to calm down the "year of the linux desktop" fans ?

And, more important, does Ingo really play Quake and UT2004 ? :-)

Reply Score: 1

RE[6]: NIH syndrom ?
by netpython on Fri 3rd Aug 2007 07:10 UTC in reply to "RE[5]: NIH syndrom ?"
netpython Member since:
2005-07-06

A little more talk about code and a little less gossip about personalities, people!

Would be nice if unix would allow you to nest groups easily. Like you add users with gpasswd -a <user> <group> it would be convenient if groupadd -a <group> <group> (nesting) were possible.

Reply Score: 2

Thats settled then.
by SReilly on Thu 2nd Aug 2007 11:27 UTC
SReilly
Member since:
2006-12-28

I'm glad Ingo has taken into account what users have been saying and worked on improving 3D. It's good to see kernel hackers taking gripes seriously and Ingo has always seemed quite level headed.

It's good to see some solid numbers too. Those benchmarks look impressive and it certainly clears up the misconceptions I had of the differences between the two schedulers.

Yea, it's a shame Con was treated the way he was but maybe some people will learn a lesson from this and think twice before they start spouting off or putting people down. But, in the end, Butters hit the nail on the head. Con and the desktop enthusiasts crowd got exactly what they wanted, somebody to listen and do something about they're complaints.

Reply Score: 7

Correct
by Xaero_Vincent on Thu 2nd Aug 2007 13:13 UTC
Xaero_Vincent
Member since:
2006-08-18

Running DX games under Wine is slower than native because of the overhead in using the Wine APIs and translating DX routines to OpenGL/Mesa routines on the fly.

Anyway, a slight decrease in 3D performance in games as a result of a new scheduler can be mitigated with a slight increase in graphics driver performance and optimizations to the new scheduler.

Reply Score: 3

RE: Correct
by sbergman27 on Thu 2nd Aug 2007 13:41 UTC in reply to "Correct"
sbergman27 Member since:
2005-07-24

Is there really overhead from using Wine APIs? It's just another API, after all. Or is it that the Wine APIs are not as optimized as some other APIs?

Anyway, I hardly see that SD dropping from 41fps to 3 fps with only one processor intensive process in the background, a 14-fold decrease, vs CFS starting at 41fps and staying at 41fps under the same conditions can be considered a "slight decrease".

Or am I misinterpreting your post? I have a feeling that maybe I am.

Edited 2007-08-02 13:52

Reply Score: 4

RE[2]: Correct
by Pfeifer on Thu 2nd Aug 2007 15:16 UTC in reply to "RE: Correct"
Pfeifer Member since:
2006-02-20

There is some overhead; it's an added layer of abstraction. However, the overhead is almost irrelevant if you compare it to other ways of Windows "emulation".

Indeed there are some programs that benefit from Linux' better scheduling, I/O management and memory management, they will actually run faster. Not with 3D applications though; most 3D drivers are still lagging behind their Windows counterparts.

Reply Score: 2

RE[2]: Correct
by Xaero_Vincent on Thu 2nd Aug 2007 15:18 UTC in reply to "RE: Correct"
Xaero_Vincent Member since:
2006-08-18

Is there really overhead from using Wine APIs? It's just another API, after all. Or is it that the Wine APIs are not as optimized as some other APIs?

------

Yes, thats my interpretation. I also think Wine does some low-level things in different than the official Win32 APIs, which might also have a performance hit.

That said the performance is acceptable to me and most who use Wine.

------

Anyway, I hardly see that SD dropping from 41fps to 3 fps with only one processor intensive process in the background, a 14-fold decrease, vs CFS starting at 41fps and staying at 41fps under the same conditions can be considered a "slight decrease".

Or am I misinterpreting your post? I have a feeling that maybe I am

------

Are you contradicting yourself?

ck1 got 3 FPS in Quake 3 at "1 loop" whereas CFS v19 got 41.

CFS is the schedular that appears to be working better according to this benchmark. Thats a good thing, no?

However, I run Q3 with an older kernel w/ SD and the performance is fine. So I don't know what this "loop" thing is.

Edited 2007-08-02 15:20

Reply Score: 2

RE[3]: Correct
by sbergman27 on Thu 2nd Aug 2007 15:36 UTC in reply to "RE[2]: Correct"
sbergman27 Member since:
2005-07-24

"""
ck1 got 3 FPS in Quake 3 at "1 loop" whereas CFS v19 got 41.

CFS is the schedular that appears to be working better according to this benchmark. Thats a good thing, no?

"""

Yes. That's exactly my view of the results. How does your Q3 act with a tight loop running in the background? Something like:

#!/usr/bin/env python
x = 0.0
y = 0
while True:
<space>x += 1.0
<space>y += 1
<space>x -= 1.0
<space>y -= 1

BTW, I used to run the original "Unreal" under Wine, when Windows98 and Voodoo3 was king, and and there was no Linux version of the game. Took me a whole weekend of 16 hour days to get it working right. (Sound was the last big hurdle.) But when I compared my framerate with that of Win98 users with similar settings and hardware, I actually came out ahead! And I remember being impressed by playing the whole game twice through the following week (which is hours and hours and hours of play) with only *one* crash. Also better than what Win98 people seemed to be experiencing.

Shocked the pants off me!

Of course, "notepad" crashed more often than that. Go figure! ;-)

Edit and P.S. Is it possible to format code in an OSNews post? Python kind of cares about white space, and the code snippet originally posted above will not run without proper indentation! I added the <space> placeholders instead of real spaces.

Edited 2007-08-02 15:40

Reply Score: 3