Slashdot Mirror


The Completely Fair Scheduler's Impact On Games

eldavojohn writes "We've heard a bit about the completely fair scheduler previously, but now Kernel Trap looks at the implications this new scheduler has for 3D games in Linux. Linus Torvalds noted, 'I don't think any scheduler is perfect, and almost all of the time, the RightAnswer(tm) ends up being not one or the other, but somewhere in between. But at the same time, no technical decision is ever written in stone. It's all a balancing act. I've replaced the scheduler before, I'm 100% sure we'll replace it again. Schedulers are actually not at all that important in the end: they are a very very small detail in the kernel.' The posts that follow the brief article, reveal that Linus seems quite confident that he made the right choice in his decision to merge CFS with the Linux kernel. One thing's for certain, gaming on Linux can't suffer any more setbacks or it may be many years before we see FOSS games rival the commercial world."

56 of 315 comments (clear)

  1. Article is misleading by RailGunner · · Score: 5, Insightful

    Funny, in the article those framerates for Quake III show CFS beating the pants off of SD.

    Besides, the biggest barrier to 3d games in Linux is video card drivers (ATI, I'm looking at you!) as 3D drivers in Linux, even the proprietary ones, have tended to be unstable.

    Linus is right one this one, the scheduler is a small part.

    1. Re:Article is misleading by Aladrin · · Score: 4, Insightful

      Yeah, I was just gonna post 'Long story short: CFS is better. -yawn-'

      Why not just say that, instead of trying to get a bunch of ./ers to RTFA?

      --
      "If you make people think they're thinking, they'll love you; But if you really make them think, they'll hate you." - DM
    2. Re:Article is misleading by Anonymous Coward · · Score: 3, Funny

      So what you're saying is, the headline isn't completely fair?

      *bad-dum* *crash!*

    3. Re:Article is misleading by complexmath · · Score: 3, Insightful

      The performance of the "patched SD" mentioned near the bottom show SD to be slightly better than CFS on the test system. However, a few FPS one way or the another really amounts to testing "noise" -- it doesn't mean anything. If there are any problems with 3D, it obviously isn't common to all systems, which suggests to me that the scheduler isn't the problem. Not unless the problem systems have some background job running that the others don't, which is messing up CFS in some way (and this seems unlikely).

    4. Re:Article is misleading by Azarael · · Score: 2, Insightful

      Neither the summary nor the FA did a great job of summarizing the issues. I have a vague idea what the schedulers do, but how many readers know what the differences between SD and CFS are? I don't.

      It's nice to see the commentary from the mailing list, but without a decent explanation of the situation, the posting isn't informative to many people.

    5. Re:Article is misleading by Omnifarious · · Score: 5, Insightful

      FPS is a poor measure of the feel of a game. I know it's what all the graphics card benchmarks use, and it does do a good job of measuring the total processor and video card throughput, but that's not the most important thing.

      The most important thing is the time between you pressing a key and the changed game state being reflected on your screen and how consistent that delay is.

      One of the arguments that CK has made about kernel development is that kernel developers have become obsessed with throughput to the exclusion of all else and that this leads to very poor desktop performance because throughput is a poor measure of 'interactivity'. Someone posting 3D game framerates as evidence of one scheduler being better than another is exhibiting exactly this bias.

      IMHO latency is a better measure, but still not perfect and it can be hard to measure in some cases.

      I don't know enough about the scheduler to know which one is better or which one exhibits particular properties. But I can see that the throughput bias is evidenced in force in the thread the article points to.

      And CK is also right that big iron shops care more about overall throughput than any measure of 'interactivity'. IMHO there ought to be some kind of pluggable scheduler system that allows you to completely change the algorithm to reflect the preferred behavior of the computer you're using.

    6. Re:Article is misleading by ThosLives · · Score: 4, Informative

      Neither the summary nor the FA did a great job of summarizing the issues.

      I agree to some extent. Notably the test specified in the article is "open a game and then sit there without hitting the keyboard." In my mind, this means the game isn't responding to any I/O, so gets pushed to the background, so adding more tasks just means it gets 1/tasks timeslices. Seems reasonable. I'm not sure why the CFS would keep the game running more often than SD if there was no I/O. An interesting comparison would be to see not only the FPS/CPU usage for the game but also for the "loop" tasks. (Those tasks also are not I/O bound.)

      Fundamentally I think the name CFS is a little bit odd - how does one define "fair"? In fact, I probably don't want my scheduler to be fair at all - I want it to run the stuff I want fast, and the other stuff it can run slow. That's not very fair.

      So, I would say there is not enough information given in the article to tell exactly why the systems had different FPS performance for different schedulers - just looking at that number doesn't tell how it's splitting the time among all the processes.

      --
      "There are a dozen opinions on a matter until you know the truth. Then there is only one." - CS Lewis (paraprhase)
    7. Re:Article is misleading by sumdumass · · Score: 4, Insightful

      I believe that you can swap the scheduler out. I might require you to rebuild the kernel but there is nothing stopping a distro, you or anyone else from using a different scheduler.

      And actually, If people think this is a problem, Distro's already heavily customize the kernels so switching this out in their particular kernel shouldn't be much of a problem.

    8. Re:Article is misleading by ultranova · · Score: 4, Informative

      Fundamentally I think the name CFS is a little bit odd - how does one define "fair"?

      Fair, in this context, means that the scheduler will give all the running tasks CPU time in proportion to their priority (nice level). It follows from this that all the tasks in a given nice level are given equal amount of CPU time, and a higher-priority task (lower nice level) is given more CPU time than a lower-priority one.

      SD scheduler (but not CFK, AFAIK) also had idle priority, which means a task that only runs if nothing else at any nice level wants to run. Very useful for running FoldingAtHome.

      In fact, I probably don't want my scheduler to be fair at all - I want it to run the stuff I want fast, and the other stuff it can run slow. That's not very fair.

      That's what "nice" is for. A fair scheduler respects nice levels, as stated above.

      --

      Forget magic. Any technology distinguishable from divine power is insufficiently advanced.

    9. Re:Article is misleading by piojo · · Score: 2, Informative

      I believe that you can swap the scheduler out. I might require you to rebuild the kernel but there is nothing stopping a distro, you or anyone else from using a different scheduler.

      I think you're thinking of the IO scheduler, which you can select at compile time. The CPU scheduler is not a choice--you must apply a patch and change the kernel's source for that. And while distros do extensively customize compilation options, the patches that they apply are generally small (besides Gentoo, which is very proud of the patchset it applies to its kernels). For almost any distro, it would be too much work to support multiple kernels (where one is based on unmaintained code).

      --
      A cat can't teach a dog to bark.
    10. Re:Article is misleading by Bob-taro · · Score: 4, Insightful

      FPS is a poor measure of the feel of a game. I know it's what all the graphics card benchmarks use, and it does do a good job of measuring the total processor and video card throughput, but that's not the most important thing. I disagree. Responsiveness is important, but I've never encountered a situation where the frame rate was good and the machine couldn't read my keyboard clicks fast enough.
      --
      Prov 9:8 Do not rebuke mockers or they will hate you; rebuke the wise and they will love you.
    11. Re:Article is misleading by Anonymous Coward · · Score: 5, Interesting

      You are on to something here. CK uses arrays and has a lower context switch time whereas CFS uses red-black trees. What this means is that doing a bunch of "while :; do done" loops that always use their full timeslice is a test that favors CFS as much as possible really.

      As an aside, what kind of retard benchmarks a scheduler using a game that is doing nothing and 100% cpu tasks? Put some disk access in there, maybe a set of folders that will easily fit in cache and then find . them. Have some fixed-seed random busy / sleeps of different ratios. Have the game play a demo reel on repeat and record avg *and* min/max fps. Come on Ingo must be somewhat familiar with CK so he must know that these tests where CK is roughly the same are biased toward CFS to begin with. If you are going to say 'look I did these benchmarks and it's a wash' and use that as a justification then at least do good benchmarks.

      I think this more than anything else confirms my impression than Ingo is just hacking shit until it kinda works ok. Note that this is exactly the same kind of rationale Linus gave for diss'ing Con so flame off.

    12. Re:Article is misleading by garett_spencley · · Score: 4, Interesting

      Besides, the biggest barrier to 3d games in Linux is video card drivers (ATI, I'm looking at you!) as 3D drivers in Linux, even the proprietary ones, have tended to be unstable.

      I would think that the biggest barrier to 3d games in Linux would be the inherent paradox concerning the lack of 3d games.

      No gamers = No profit for game companies = No games being produced.
      No games = No gamers = No profit for game companies.

      The one thing that I would agree on is that video card support brings game developers and gamers closer to a certain extent. Having better drivers might get both gamers and developers to consider Linux a *little* more. However, even if Linux had terrific video card drivers that were just as good or better than the Windows drivers I still wouldn't consider Linux for games just because there's very few good games available.

      Better drivers can only help. But I can't consider that the "biggest" problem. The biggest problem is that there are too few people who use Linux. So video card manufacturers don't care about Linux. Game developers don't care about Linux and lastly (most) gamers don't care about Linux.

      I realize there was a lot of bad management decisions involved, but look at what happened to the last company that tried to make a business out of porting titles to Linux (*cough* Loki *cough). I have just about every Loki title that was developed and I really wish they had stayed afloat. Maybe it was bad business decisions and maybe it was just that there was no profit in porting titles to Linux. The situation might be different today and I hope that someone has the desire, balls and money to step up and try what Loki tried 7 or 8 years ago. But Loki's fate did send a clear message. There's no profit in Linux games. John Carmack also said back then that releasing Q3A for Linux saw no profit.

      Hopefully as more desktop companies, like Dell, jump on board and push Linux then maybe both the game developers and video card manufacturers will start to see the potential for profit and a result gamers will jump on board. But even Mac has suffered from the same problem for 20 years, and there's way more profit in developing for Mac than Linux. And it shows. There are more commercial Mac games than there are Linux. But both Linux and Mac have next to no games at all when you compare to the titles available for Windows.

    13. Re:Article is misleading by Tacvek · · Score: 4, Informative
      All schedulers attempt to do that. However the old scheduler design collected statistics based on what process was running at each clock tick. So if a process always yielded right before the clock tick the scheduler would mark it as having used 0 ticks worth of clock time. So it would always stay near the top of the list, and could monopolize the CPU.

      A fair scheduler basically times the actual CPU usage. It starts timing when it gives control to the process, and stops timing when the process yields or the scheduler decides to interrupt the process. it tracks processes not by ticks but by actual time used. (This post is based on my understanding of the issue. I may be incorrect.)

      --
      Stylish sheet to fix many problems in Slashdot's D3: https://gist.github.com/801524
    14. Re:Article is misleading by kisielk · · Score: 2, Interesting

      Not only is it possible, but it's widely used in many RTOS. For example QNX lets you select scheduling algorithms on a per-thread basis: http://www.qnx.com/developers/docs/6.3.0SP3/neutri no/prog/overview.html#SCHEDS

    15. Re:Article is misleading by EvanED · · Score: 3, Informative

      Isn't that what "nice" is for?

      In part, yes, but for some things, it doesn't go all the way.

      For instance, Windows will give either the foreground application and/or programs the scheduler things are interactive a priority boost. (I forget exactly what it does.) In theory, this means that the program you're working with at the time gets the attention. It's conceptually like a window manager renicing the processes you're working with when you change focus.

      I don't know if it actually makes a difference. It can also cause problems if a program can fool the scheduler into thinking it's interactive, because then it will get a bigger time slice than the priority says it should allow.

      There *are* other ways to do scheduling besides just adjusting the nice level.

    16. Re:Article is misleading by Muzzarelli · · Score: 4, Informative

      I made the switch from w2k to redhat v8 or 9 about the time that XP came out. At the time I a serious q3 player practising about 5-6 hours a day, playing in leagues, etc. One thing everybody playing did was lower their resolution and raise the refresh rate up to 120 or 125hz, you get smoother view of the game. In both operating systems my machine would easily sustain the 125fps you need in q3, but there were subtle differences in the game.

      In w2k at 125hz other players would appear to be moving smoothly. In redhat they would have a constant stutter, like the other players positions were only being updated every 2 or 3 frames, rather than every frame as they appeared to on w2k. This made a difference when playing the game, I ended up moving around distros until I found the preemptive, and low latency patches made the stuttering go away.

      For me, fps wasn't ever the problem. It was something else.

    17. Re:Article is misleading by piojo · · Score: 3, Informative

      What about user selectable scheduler profiles? Would it be possible?
      Linus rejected that because it meant more schedulers to support, and also because he was annoyed that C.K. wrote it mainly to prove that his scheduler was better. It was called "plugsched"--google for it if you want.
      --
      A cat can't teach a dog to bark.
    18. Re:Article is misleading by complete+loony · · Score: 2, Informative

      Also (I believe) if you give up your time slice early, say to block on IO. Your process will be scheduled earlier when that block is released. So while you will get your percentage of CPU time, you should also get reduced latency.

      --
      09F91102 no, 455FE104 nope, F190A1E8 uh-uh, 7A5F8A09 that's not it, C87294CE no. Ah! 452F6E403CDF10714E41DFAA257D313F.
    19. Re:Article is misleading by joeljkp · · Score: 2, Insightful

      Just a little nitpick, but Loki was not the last company doing commercial Linux ports. The new standard-bearer is Linux Game Publishing, though they've taken a low-and-slow approach and haven't done many big-name games yet.

      --
      WeRelate.org - wiki-based genealogy
  2. FOSS games by Joe+Tie. · · Score: 3, Informative

    Aren't going to happen until artists in the medium, 'good' artists rather, decide to start working for free the same way coders do. Some artists will work for publicity alone, bu they seem to be by far in the minority. On a technical level, I've not seen much problem with linux. Ogre, for example, runs quite smoothly for me.

    --
    Everything will be taken away from you.
    1. Re:FOSS games by OldeTimeGeek · · Score: 3, Interesting
      Aren't going to happen until artists in the medium, 'good' artists rather, decide to start working for free the same way coders do. Some artists will work for publicity alone, bu they seem to be by far in the minority.

      Of course they're in the minority. For them, there's nothing to be gained in providing their services for free.

      The publicity for working on games is almost nonexistent. For example, can you, name any artist that worked on any one of the most popular games? I can, but I know a bunch of artists that work in the games industry.

      Besides, artwork doesn't work as FOSS. Unlike code, artwork for games isn't inherently "sharable" - it's designed for the purposes of that game and that game only. Game engines can be used for multiple different kinds of game. Artwork almost always can't. It may be used for sequels (but generally isn't as the requirements change from game to game) but it can't be used across different types of games.

    2. Re:FOSS games by sqlrob · · Score: 3, Insightful

      It depends on the artist.

      Are you saying all of "Snow White" was drawn by one person? All 24 fps, 83 minutes worth?

    3. Re:FOSS games by Catil · · Score: 4, Insightful

      Artists usually have a huge archive of unused material, either done in their free time for practice and fun or for games that never used it due to a redesign or cancelation. Even some of the dummy objects most artists produce, to give the coders something to work with, can be better than actual graphics made by a hobbyist.
      I always wondered why they just wouldn't contribute at least some early works to the open source community? Is it maybe just the lack of a good website where stuff like this could be indexed or isn't there a good enough standard license model to release something like that for free? I thought the Creatice Commons license would be quite suitabel for it.

      Everybody who spent some time finding a good textured and rigged low-poly character model, preferably with basic animations, on the net for use in an open source game, knows that there is next to nothing available. Well, at least not when I could have needed one about two years ago.
      It really doesn't have to be that professional or finished - even that untextured rat someone made a decade ago to have something to shoot at, later to replaced by some creatures, could maybe be of use to someone; and if he textures it, and maybe do a simple animation and perhaps record some sounds, and then uses it in his project, he should give the additional stuff he made to other developers as well.
      Soon there will be a nice looking 3D rat with some textures to choose from, various sounds, walking and death animations, etc. and everybody did his part. That's the open source way - why does it seem it's not very common among artits and only coders?

      Anyway, I think it could be really just the right website that is missing - some Sourceforge-style page with a nice upload-frontend, where stuff gets properly indexed based on categories, tags and styles and with a feedback option, where contributers can see which projects are using their works. Add some voting to rank it, karma, apply a fair license to it upon upload and I think something like this could really take off.

    4. Re:FOSS games by G+Morgan · · Score: 2, Funny

      Yes the FOSS coders are mediocre. It's just those in the proprietary sector are crap. FOSS code generally outperforms that in the proprietary sector.

    5. Re:FOSS games by G+Morgan · · Score: 2, Interesting

      Ever heard of MMORPG's? What's to stop one of them being driven by FOSS. Still a service model and can make money as a result.

  3. You won't get good games until you get marketshare by nweaver · · Score: 5, Insightful

    This is irrelevant to the gaming front.

    The limit to games on Linux is market share. Its not (much) easier to develop a good 3D game for linux as it is Windows, so why code for 2% of the market when you can code for 92% of the market?

    Thus you will only get games where the developer has gone out of their way to ensure complete portibility and provides a port mostly out of courtousy.

    The scheduler details are irrelevant for this: what Linux Games need is 10%+ marketshare on the desktop.

    --
    Test your net with Netalyzr
  4. Should it matter? by Jeremi · · Score: 2, Insightful
    I would think that 3D games would be considered a 'real time task' (i.e. you must draw the next frame within 1/30th of a second or else it won't look right), and therefore you would want to run them using the real time scheduler (SCHED_FIFO or SCHED_RR). Given that, it wouldn't much matter what fancy scheduling algorithms the non-real-time tasks were using.... your game would always get the cycles it needs when it needs them (up to to the CPU's capacity, of course).


    Perhaps people just don't want to run their games as root though....

    --


    I don't care if it's 90,000 hectares. That lake was not my doing.
  5. Re:You won't get good games until you get marketsh by Zironic · · Score: 3, Insightful

    Sounds like an evil circle.

    To get Market Share you need games.
    To get Games you need Market Share.

  6. Re:Hmm by Anonymous Coward · · Score: 4, Funny

    The CFS (Completely Fair Scheduler) won't, but maybe the new FCS (Flux Capacitance Scheduler) might. Or already did.

  7. Strange, I've been gaming in Linux for years. by DaedalusHKX · · Score: 5, Interesting

    I have Windows XP and Gentoo Linux running side by side, and strangely, Gentoo scores 10 to 12 FPS faster in World of Warcraft, Warcraft III and even Doom 3. Granted they are commercial games, but if they can run in WINE that fast, I wonder what a direct Linux implementation would do. I just love seeing folks buying the headlines instead of blazing their own paths.

    That's why the world is in the shape its in... the majority is always waiting for someone to save the day. You want desktop Linux? Then make it your desktop. Otherwise stop bitching and post some valid comments.

    --
    " What luck for rulers that men do not think" - Adolf Hitler
    1. Re:Strange, I've been gaming in Linux for years. by Hatta · · Score: 2, Informative

      if they can run in WINE that fast, I wonder what a direct Linux implementation would do.

      Wine really isn't an emulator, so there shouldn't be that much overhead.

      --
      Give me Classic Slashdot or give me death!
    2. Re:Strange, I've been gaming in Linux for years. by T-Ranger · · Score: 3, Informative

      At least when it first came out, Doom3 under Wine was faster then the "native" Doom3 for linux. The port was quick and dirty, with all the inline ASM stuff not handled by GCC, so it was dropped. Doom3 under Wine, compiled with the VC++ (I guess) compatible ASM inlines was faster. That said, I still play(ed) the native version.

      Lots of the development tools built into the doom3 executable didn't work at all under Linux, either. Not sure if they did under Wine at day 0, or if they do at all today.

    3. Re:Strange, I've been gaming in Linux for years. by Nasarius · · Score: 4, Informative

      WOW DO have native linux ports
      Uh...no. WoW does run nicely under Wine, but that's not a port.
      --
      LOAD "SIG",8,1
    4. Re:Strange, I've been gaming in Linux for years. by Stephan+Seidt · · Score: 4, Insightful

      Performance improvements could come from i.e. unsupported and thus unvirtualized eye-candy DirectX features which would have a negative impact on performance under normal circumstances. Anyway, afaik all the mentioned games have OpenGL renderers, but I assume that you use the stanard DirectX renderer in World of Warcraft.

      On the other hand, performance drawbacks because of wine's virtualization are very small but naturally they do exist. Adding an extra layer of wrapping takes time. Of course, maybe wine's handling of win32-specific calls and systems is more efficient than Microsoft's implementation in their operating systems ;-)

    5. Re:Strange, I've been gaming in Linux for years. by hey! · · Score: 3, Interesting

      Well, the issue at hand here isn't throughput, it is consistency.

      An efficient scheduler gives processes in general the most bandwidth. A fair scheduler gives processes in a priority class the most equal bandwidth shares. A real time scheduler gives any given process the most predictable wait for bandwidth.

      Each of these notions is somewhat different. Achieving a high frame rate over the course of a test on an unloaded system tells you nothing about the scheduler, other than perhaps it is not truly awful. On a moderately loaded system, the scheduler may be giving your game more than its share of CPU time, but if from time to time your game seizes up for a fraction of a second, it would be an irritation, even if on average it's getting enough bandwidth to give you a good playing experience. At the same time, this situation would be fine for data processing applications like image analysis, where an operation might take several seconds, or even minutes to complete. As long as the process gets plenty of cycles over the course of the operation, it's ok, even though your operation might have "frozen" for up to a second in the process.

      --
      Post may contain irony: discontinue use if experiencing mood swings, nausea or elevated blood pressure.
    6. Re:Strange, I've been gaming in Linux for years. by vtcodger · · Score: 4, Informative
      *** I wonder what a direct Linux implementation would do***

      A perfectly reasonable question, but the answer may well be "about the same". The NE in wiNE istands for "Not an Emulator". In a sense, WINE *IS* a native Linux graphics implementation albeit aided or hindered by using the Windows API interfaces. If I recall the WINE documentation correctly it says that WINE is sometimes faster than Windows on the same hardware and application and sometimes slower.

      Here's a link http://linuxhelp.blogspot.com/2006/02/wine-vs-wind ows-xp-benchmarks.html that seems to say roughly the same thing.

      --
      You can't see ANYTHING from a car, You've got to get out of the goddamned contraption and walk...Edward Abbey
    7. Re:Strange, I've been gaming in Linux for years. by totally+bogus+dude · · Score: 2, Informative

      The post which originally claimed it was "hypocritical" only mentioned Linux, and not FOSS. It's perfectly possible for someone to like and use Linux, and not care about the Free software philosophy; in the same way it's perfectly possible for someone to use Firefox on Windows because they prefer it to MSIE or Opera, and don't care that it's Free. There's absolutely nothing hypocritical about that. It's also not hypocritical to prefer or even "believe in" Free software, but be willing to use proprietary software when it's the best choice (that'd be pragmatism). It's not even hypocritical to do that, while still hoping for (or helping to create) a Free alternative to the proprietary software. But, you already know that (unless you actually don't have any idea what the word hypocritical means).

      Secondly, it isn't necessarily illegal to make an "emulator" (which WINE isn't, technically, although it's used like an emulator would be) for the Win32 API. After all, there is a commercial entity (Cedega or something?) involved in WINE, and they haven't been sued into oblivion; presumably, if they were actually doing something illegal, they would have been shut down. I mention this as a commercial example because it's feasible some companies wouldn't bother trying to stop technically illegal activities carried out by free software people, on the grounds of it being too difficult a target. Businesses are another matter.

      Even your apparent claim that the PC games market wouldn't exist if it weren't for Windows is absolute bunk. Games existed before Windows and on various platforms. If the PC OS market wasn't so heavily dominated by Microsoft, but instead had fairly even splits between 3 or 4 different platforms, then PC games would routinely be designed cross-platform and released across all major platforms. Not doing so would be stupid. There's nothing magical about Windows which allows it to run games. It's purely market share that results in developers ignoring other PC platforms, just like some developers choose to develop for a specific console. Market shares are subject to change.

      Overall, I'd rate your troll about a 7. Not a bad effort at all.

  8. Pluggable by cerelib · · Score: 4, Insightful

    That is why Linus should have listened to Con Kolivas when he tried to introduce a pluggable scheduler system. With a modular system we could have CFS and the staircase scheduler and both problems solved.

    1. Re:Pluggable by andrewd18 · · Score: 5, Informative

      Linus has already explained why he doesn't like the idea of a pluggable scheduler system. See http://kerneltrap.org/node/14019

  9. Multiple choice schedulers by davidwr · · Score: 2, Informative

    Personally, I'd like things like schedulers to be pluggable. But that's just me. Or maybe not.

    --
    Knowledge is how to play a game, intelligence is how to win, wisdom is knowing what game to play.
  10. Scheduler Nanokernel by Doc+Ruby · · Score: 2, Interesting

    Schedulers are actually not at all that important in the end: they are a very very small detail in the kernel - Torvalds
    Actually, I'd like to see the OS kernel consist entirely of only the scheduler and the thinnest APIs to secure drivers granting access to the HW. Everything else, including IPC, could be in userspace.

    That would make distributing the OS a lot easier. And the simplicity could be a lot easier to secure, to develop for, to customize a deployment for minimum HW (like eg. a "self-winding" 10mW Bluetooth ring with "accessory" features). Practically every device could run the same "OS", with modules bolted on for increased functionality on heavier HW.

    --

    --
    make install -not war

  11. Re:Modular Kernel by intx13 · · Score: 2

    Linux is like a car... :) A tail light or the license plate might be mostly modular, but the drive train isn't. The scheduler is very fundamental to the kernel, and must be running at all times. No doubt a system could be devised to make it work, but the pointer that Linus and others have been trying to make is that the most important reason for selecting one scheduler other another at this time is the dedication of the scheduler's maintainer and developer, not whether 3D games experience a slight decrease in performance. Even if they *could* both be used, Linus would still stick to his guns, because he believes that the developer behind the project is more important than the project itself.

    I tend to agree - open source is driven by developers (developers developers developers!) - if the selected scheduler happens to be a bit slow for 3D games, someone will patch it, and the maintainer will integrate the patch. However if there aren't many active developers working on the project, and the maintainer doesn't seem dedicated, then it doesn't matter how great the code is right now; some time down the road work will be needed, and then the project runs into trouble.

    In the open source world it's easier to patch up a slower design in a well-supported project than have to fork or reorganize an entire project because of lacking support.

  12. Setbacks? by ichigo+2.0 · · Score: 4, Insightful

    One thing's for certain, gaming on Linux can't suffer any more setbacks or it may be many years before we see FOSS games rival the commercial world.
    Linus mentioned somewhere that CFS and SD are both superior to the old scheduler, so in what way can choosing CFS be considered a setback?
  13. Re:Games.. only thing keeping me from linux full-t by Stringer+Bell · · Score: 2, Insightful

    I'm not a gamer at all, but for years I've said that Quicken was the only thing keeping me from switching Linux full-time. (Yes, I know there are FOSS bookkeeping packages out there. Quicken is excellent, though, so any switch is a step down in my mind.)

    Then I realized it doesn't matter which operating system I run as long as I can do what I need to do. I was only trying to switch to Linux for ideological reasons, not for any practical reason. The act of switching over was going to involve a lot of time, effort, and possibly expense, and if there was no "business reason" to go through all that, it would largely be for nought. If I had a mission-critical app I needed to run that only ran on Mac or Linux or whatever, then I'd switch, but I'd have to jump over with both feet. I don't want my music, pictures, documents, finances, etc., spread all over multiple machines (or multiple partitions of different types.) My mission-critical app is Quicken...so I continue to run Windows.

    So don't look at it as "I'd switch over completely, but..." Instead, look at it as "Apps drive the OS I use. I need the following app(s): ________, which is/are well supported on _______, so my OS is ________."

  14. Linux and Games by CopaceticOpus · · Score: 4, Insightful

    I've figured out how to get games running with Linux!

    1. Set up your Linux system. Use onboard video and don't overspend on your processor.
    2. Buy a PS2, a Wii, or a 360.
    3. Play games on your game console and do everything else on Linux.

  15. Be glad they chose CFS over SD then. by delire · · Score: 4, Insightful
    Sayeth Kenneth.

    Alright, Just got done with some testing of UT2004 between 2.6.23-rc1 CFS and 2.6.22-ck1 SD. This series of tests was run by spawning in a map while not moving at all and always facing the same direction, while slowing increasing the number of loops.

    CFS generally seemed a lot smoother as the load increased, while SD broke down to a highly unstable fps count that fluctuated massively around the third loop. Seems like I will stick to CFS for gaming now.

    --
    Kenneth Prugh
    Sayeth Matthew

    My experience was quite similar. I noticed after launching the second loop that the FPS stuck down to 15 for about 20 seconds, then climbed back up to 48. After that it went rapidly downhill. This is similar to other benchmarks I've done of SD versus CFS in the past. At a "normal" load they're fairly similar but SD breaks down under pressure.

    The only other thing of interest is that the -ck kernel had the WM menus appear in about 3 seconds rather than 5-8 under the other two.
    The only chap that says otherwise doesn't post his results.

    From TFA
  16. Re:Modular Kernel GREAT QUESTION jshriverWVU by SirTalon42 · · Score: 3, Informative

    Actually the quote from the in the summary from Linus is part of a larger email where hes dismissing the idea of using the plugscheduler (I can't seem to recall the exact name) that would make the CPU scheduler plugin based like the IO scheduler currently is. His reasoning against it were largely BECAUSE what they learned from having the IO scheduler plugin based and its something Linus as well as the subsystem maintainers DON'T want to repeat.

    Anyways, you can still just apply Con's patch to the kernel to use his scheduler instead of the old scheduler (and if he keeps maintaining it, you'll be able to use SD instead of CFS). Don't forget that we haven't even had a kernel released using CFS!

  17. The X Factor by mcelrath · · Score: 5, Interesting

    I keep wondering...X is a single threaded server, communicating with a (generally) single threaded game. Worse, wine inserts the wineserver process, so I have three single threaded things trying to synchronize to get interactivity. A low latency event like a keypress might require all three processes to be scheduled in succession, to get a response on the screen. A poor man's way to do this is with the kernel's scheduler, but a far superior way to do it is to have multiple threads in the X server. Scheduling an interactive event isn't hard. Getting crap on the screen in the same scheduling timeslice is hard (impossible?) since it requires a second scheduling point. As I understand, this is how BeOS achieved substantial interactivity in the presence of load -- my having a multi-threaded graphics server *and* kernel.

    So, how much can be gained by rewriting X, or going to a different graphics server? Or do I completely misunderstand the effect of X?

    -- Bob

    --
    1^2=1; (-1)^2=1; 1^2=(-1)^2; 1=-1; 1=0.
    1. Re:The X Factor by renoX · · Score: 2, Interesting

      [[I don't know how many of the calls need to go back to the X server, but my guess is only the ones dealing with windowing and user input.]]

      Well the GP was talking about pressing a key, so that's definitedly user input..
      And the latency for the reaction to user input is quite critical for a game, but does the kernel --> X server --> games context switches induce really a measurable latency for a player?
      I don't know..

  18. Jitter is important by dybdahl · · Score: 4, Interesting

    Usability research has shown, that variation in waiting time is actually a bigger irritation for users than waiting time itself.

    I have seen several projects, where user interface response time problems have been "improved" by making adding a minimum response time. The average response time increases, but variation decreases, and the user often reports the program as having become faster... the logic to this seems to be, that the user wants the user interface to have a predictable response.

    I think the reference for this is Søren Lauesens books about usability programming, but I cannot remember for sure right now.

  19. Isn't going to happen, period! by qweqwe321 · · Score: 2, Insightful

    Free and open source is a horrible model for any non-subscription based games. Think about a game like Oblivion, for example. If Bethesda had released that under the GPL, where would they make their money from? Unless you make money from subscriptions, like Second Life or World of Warcraft, FOSS games make no business sense.

  20. CFS's impact is.. none! by NekoXP · · Score: 2, Funny

    Yeah they are too busy bitching about the difference between CFS and SD.

    And then the news post here, says "Linux cannot suffer any setbacks in gaming". I think you'll find that compared to the original scheduler, CFS pretty much rocks for gaming. As much or less than SD, who the fuck cares?

    It's better than the original scheduler, so where's the setback?

    If it's not as good as SD, oh well, cry me a river. I don't agree with Linus' "there is no maintainer" idea, but more the concept that CFS removes more lines from the kernel than it replaces, and does a better job, whereas SD adds complexity for roughly the same effect. What could be a perfectly good technical reason in previous LKML posts got turned into politiking.

    Difference between SD and CFS.. fractions of a frame per second. WOW. That really means Linus made the wrong decision! The impact on games, where 1/500th of a second really MAKES A DIFFERENCE is too high! Put the old scheduler back you fucking crazy-ass Finn!!

  21. Answer: Project Peach by root_42 · · Score: 2, Interesting

    Well then, everyone, let's head over to Project Peach: http://peach.blender.org/

    Yes, the blenderheads are at it again, and they are doing a game this time...

    --
    [--- PGP key and more on http://www.root42.de ---]
    1. Re:Answer: Project Peach by root_42 · · Score: 2, Interesting

      D'oh! I am in Homer-Mode again. Of course I didn't mean PEACH, I meant the Apricot project: http://www.blender.org/blenderorg/blender-foundati on/2007-plans/apricot-open-game/

      All those fruits... :-)

      --
      [--- PGP key and more on http://www.root42.de ---]
  22. Strange viewpoint by huckamania · · Score: 2, Insightful

    Games maybe cpu hogs, but the person playing the game probably thinks that whatever is causing the lag is the pig. I think that is the whole point.

    The computer should spend cycles on the things the user is interested in, it should not be optimized primarily for the big service companies. The linux camp in 2007 just seems like some alternate dinosaur-computing reality: IBM, Sun, Novell, Oracle. I don't think of free or open when I see any of those names and I'm sure that none of those companies want to take computing in the direction I favor.

    In the computing world, the enemy of your enemy is not your friend.