Follow Slashdot stories on Twitter

 



Forgot your password?
typodupeerror
×
Linux

Deadline Scheduling Proposed For the Linux Kernel 113

c1oud writes "At the last Real-Time Linux Workshop, held in September in Dresden, there was a lot of discussion about the possibility of enhancing real-time capabilities of Linux by adding a new scheduling class to the Linux kernel. According to most kernel developers, this new scheduling class should be based on the Earliest Deadline First (EDF) real-time algorithm. The first draft of the scheduling class was called 'SCHED_EDF,' and it was proposed and discussed on the Linux Kernel Mailing List (LKML) just before the workshop. Recently, a second version of the scheduling class (called 'SCHED_DEADLINE,' to meet the request of some kernel developers) was proposed. Moreover, the code has been moved to a public git repository on Gitorius. The implementation is part of a FP7 European project called ACTORS, and financially supported by the European commission. More details are available."
This discussion has been archived. No new comments can be posted.

Deadline Scheduling Proposed For the Linux Kernel

Comments Filter:
  • first post (Score:5, Funny)

    by fredan ( 54788 ) on Tuesday October 20, 2009 @08:24AM (#29806829) Journal
    because i'm using Earliest Deadline First scheduling!
    • by Anonymous Coward on Tuesday October 20, 2009 @08:41AM (#29807067)

      I didn't get the first post because pulseaudio crashed my system, and my wifi wouldn't connect.
      Then I had to finish my windows 7 torrent, install it, and now I can post.

      Linux isn't ready for the first post.

      • by Anonymous Coward on Tuesday October 20, 2009 @08:49AM (#29807179)

        Linux isn't ready for the first post.

        But Windows is ready for the last post.

      • by tepples ( 727027 ) <tepples.gmail@com> on Tuesday October 20, 2009 @09:06AM (#29807439) Homepage Journal

        I didn't get the first post because pulseaudio crashed my system

        It isn't PA that's crashing your system. It's the drivers, and PA just exposes defects that were already in the drivers.

        • by BrentH ( 1154987 ) on Tuesday October 20, 2009 @09:22AM (#29807653)
          Thanks PulseAudio, for exposing those damn drivers. I really hate it when audioservers simply work and just hide defects like this.
          • Re: (Score:3, Insightful)

            by tepples ( 727027 )

            Thanks PulseAudio, for exposing those damn drivers. I really hate it when audioservers simply work and just hide defects like this.

            There comes a point beyond which a clusterfuck needs a clusterfix. Should Linus Torvalds just have kept on using Windows 3.1 and slogging through hiding its defects instead of building Linux? I don't think so. Likewise, programs that need real-time behavior can just hide the fact that existing Linux kernels have few provisions for real-time process scheduling by just hogging 100% CPU. But the right answer is to improve the scheduler's support for real-time semantics, as seen in the article.

        • Re: (Score:2, Funny)

          by raddan ( 519638 ) *
          And I suppose that PulseAudio is just exposing flaws in Linux, right? Lame.
        • I didn't get the first post because pulseaudio crashed my system

          It isn't PA that's crashing your system. It's the drivers, and PA just exposes defects that were already in the drivers.

          It's no good he can't hear you. No Sound. His PA has just fallen out with his drivers. They felt "picked on".

  • Misleading title, just 'cause they can.

  • by guruevi ( 827432 ) on Tuesday October 20, 2009 @08:36AM (#29806999)

    I used to be into the Linux kernel a couple of years ago but since then I haven't really followed it anymore. What's the difference between these scheduling algorithms and do they work better than the current scheduling system?

    • by markkezner ( 1209776 ) on Tuesday October 20, 2009 @08:45AM (#29807127)
      Whether or not this scheduler is better depends on what you're trying to do.

      The proposed scheduler intends to work better for real-time apps, where the correctness of the algorithm depends on how timely the data gets processed. Low-latency audio is a good example of this, as a dropped or late packet of audio results in a nasty audible pop.
    • by Anonymous Coward on Tuesday October 20, 2009 @08:46AM (#29807143)

      These algorithms will produce substantially worse overall performance in all workloads. However, they allow absolute deadlines to be set for certain tasks. This is mostly useful for embedded devices -- if you're creating a medical device, or a subsystem for a plane, a 20% performance hit to guarantee you don't delay critical tasks for a couple seconds and get people killed isn't even a decision worth thinking about.

      This would make Linux a legitimate real time ("RT") kernel. There are RT Linuxes already, but they suck to work with -- I believe RTLinux (one of the RT variants), for example, requires all RT tasks to be in kernel-space.

      The upshot is that this is huge for Linux in certain business areas (and other RT OSes are currently quite pricey), but totally useless for your desktop or home server.

      • Re: (Score:3, Interesting)

        by shish ( 588640 )

        These algorithms will produce substantially worse overall performance in all workloads.

        Overall performance as in userspace apps will take 20% longer to perform CPU-bound tasks; or overall as in the scheduler will perform much worse ("the scheduler will now take 0.02% of CPU time, having previously taken 0.01%")? I think it's pretty important to specify over all of what...

        • by Mr Z ( 6791 ) on Tuesday October 20, 2009 @10:22AM (#29808633) Homepage Journal

          20% overall hit on system performance, as in the peak throughput of your system may take a 20% or greater hit due to scheduler decisions that guarantee deadlines get met, even if that means not allowing work to proceed on tasks that are ready to run.

          For example, task A may be ready to run, but if the scheduler picks it, then task B might miss its deadline because A's time quanta is too long. This can be true even if B isn't yet ready to run, but is about to be. Ready-to-run task A may take 40ms with a deadline way in the future. Task B might be ready to run in 20ms, and when it does run, it'll run for 70ms. Now suppose B's deadline is 100ms away. If task A can't be preempted, we can't run task A, because then we'd start task B too late. A real-time scheduling algorithm might therefore choose to idle 20ms until B is ready if it's not possible to preempt task A.

          (Note to pedants out there: What I just described is not EDF, but a more generic off-the-top-of-my-head example of how realtime scheduling decisions, perhaps even just made by a human making a static schedule, can lead to idle time.)

          These sorts of statements tend to apply though when all tasks use a real-time scheduling algorithm, or only to the subset of tasks that are classified "real-time". Linux's scheduling algorithm will remain hybrid, with some real time tasks and the rest using the CFS scheduler (SCHED_OTHER).

          As a result, it seems highly unlikely to me that SCHED_EDF (or SCHED_DEADLINE or however it gets spelled) will make Linux a true hard real-time OS. It will just add a new, more traditional real time scheduler to the existing set of soft-real time schedulers (SCHED_RR, SCHED_FIFO). A system with predominately real-time tasks will probably meet all of its real time guarantees with high probability. I wouldn't run my medical equipment with it just yet though, particularly if any of the SCHED_OTHER tasks are doing disk I/O and/or thrashing the VM.

          Re: your sig... (0x2B | ~0x2B) = ~0, regardless of your bit length.

          • by mewsenews ( 251487 ) on Tuesday October 20, 2009 @12:33PM (#29811031) Homepage

            Re: your sig... (0x2B | ~0x2B) = ~0, regardless of your bit length.

            Oh shit! Processor nerd SMACKDOWN!! This is better than wrestling!

          • Re: (Score:3, Insightful)

            by sjames ( 1099 )

            Hard realtime is ...HARD.

            To get it right, not only do processes have to be scheduled correctly, so does I/O. Swapping/paging are out of the question. Even with all that, the hardware has to be appropriate as well. SMM and SMI as found in the x86 world these days is simply unacceptable, you can't be hard real time when there is an interrupt you can't mask or whose interrupt handler is not accessible to the OS. Especially when it switches the CPU to a different mode and stays there until it says it's done.

            You

      • The problem is that real-time issues aren't necessarily limited to a "get there before it's too late" scenario. In many real-time scenarios you have to comply with a timing "window" where being early is just as bad as being late. Imagine how bad music would sound if the time between notes were merely guaranteed to not exceed a certain maximum.

        In any case, PC's are a bad platform for software-based real-time unless you can turn off things like caches that introduce unpredictable delays.

        • In many real-time scenarios you have to comply with a timing "window" where being early is just as bad as being late.

          But just like in real life, if you arrive early, you can wait. If you arrive late, you can't make up the time. If precise timing is required, a program might set its deadline a little early, then busy-wait on a high-precision clock for the exact moment it needs to act.

          • That's a valid approach as long as the timing intervals aren't too close together and the OS doesn't interrupt the process at the wrong time.

            For example your approach was used in Atari 2600 games to get the timing of the vertical blanking right. Of course on the 2600 there were no interrupts (and no OS) so you just had to make sure all code paths in your display routine didn't exceed the vertical blanking time and then sit in a tight loop reading the timer until it reaches 0.

            If you've ever seen the screen j

      • This is exactly right.

        I used to work at a video duplicating plant where we controlled our source machines (Beta, DigiBeta, C1s, D2s, etc.) via a central computer. We had about 20 source machines providing movies, commercials, logos, and trailers to over 4000 VHS recorders divided into 14 racks.

        Until we got the centralized computer management thingie, we used manual switchboards and our skills to start, synchronize, and switch between, different source machines providing logos, trailers, commercials, and fea

      • This begs the question though: why is this specific-purpose scheduler being looked at while specific-purpose schedulers focusing on desktop use (as opposed to server use, which is what Linux scheduling is currently optimized for) have been disregarded.

        • You complete misunderstand. This addition is something completely different from some hare-brained hacked-up "desktop" scheduler. Deadline scheduling a new kind of scheduling which the current scheduler implementation is being extended to support. It's the difference between a new image format and a new image viewer.

      • Re: (Score:3, Interesting)

        by Lisandro ( 799651 )

        The upshot is that this is huge for Linux in certain business areas (and other RT OSes are currently quite pricey), but totally useless for your desktop or home server.

        I don't think so. If this means we'll get a pluggable scheduler architecture in Linux, i'm all for it.

        I thought it was all hogwash until i tried Ken Colivas' BFS patch [kolivas.org]. The difference it makes on a desktop system is notable, and it clearly demonstrates that having a single scheduling solution for a kernel oriented for everything from embedded

    • Re: (Score:2, Interesting)

      yes it performs better. for certain workloads. with correct usage.

      like anything else it's a tradeoff. in this case you (or your application developer) have to be aware of how the scheduler works and be able to assign valid relative priorities and deadlines. Current schedulers you might have to worry about priority, but usually you don't. You also have to work out a way to work out utilization and negotiate fallback compute requirements based on the user's workload (other apps competing for the resource

    • It depends on the type of work load. Different schedulers are good for different tasks. Deadline scheduling is good for real time because it says "The job must be done by x time". In contrast, the Anticipatory scheduler tries to predict the next disk read, which may be good for streaming large files. The CFQ scheduler (the default) tries to balance everything out between extremes. There are a few other schedulers available as well. The scheduler can be selected on the kernel command line or from the bootloa
    • by Lemming Mark ( 849014 ) on Tuesday October 20, 2009 @08:56AM (#29807301) Homepage

      I've not read TFA yet but will try not to spout rubbish ;-)

      Deadline-based scheduling is good for realtime processing and not necessarily better for your desktop or server. "Realtime" doesn't mean fast / high throughput and doesn't *necessarily* mean low latency. What it really means is "predictable", with low latency potentially being important. A server or desktop scheduling algorithm often does all kinds of crazy scaling of priorities according to process behaviour in the past, etc - it aims to keep processes running on the CPU as much as possible so that your overall performance is good. The desktop scheduler may also be tweaked to try and make sure interactive tasks respond quickly

      Typically a realtime scheduling algorithm is more "stupid" and therefore more predictable, so applications that need regular helpings of CPU can run without the behaviour of the scheduler disrupting their operation. Linux currently supports realtime scheduling through "round robin" and "first-in-first-out" classes, which are extremely "stupid" scheduling algorithms but useful in some cases. Realtime tasks run according to the chosen algorithm, then the normal desktop/server scheduler handles other tasks. It sounds to me like the proposal is to add a slightly more intelligent realtime scheduler allowing administrators and applications to control realtime behaviour differently when necessary. It doesn't sound like they're proposing replacing the main scheduling algorithm, although some OSes have played with using deadline-based scheduling exclusively.

      An EDF algorithm assigns each task a deadline and tries to always schedule the task whose deadline will expire soonest. Using a periodic deadline you can effectively specify stuff like "I need to be scheduled every 50ms, if at all possible" and the scheduler will try to make sure this happens. If you are, for instance, doing video streaming or interacting with a hardware buffer or controlling a robot arm you might have these requirements. In these cases, getting the CPU regularly is much more important than getting lots of CPU on average, which is why just renicing isn't sufficient.

      • Cool post. I don't know a lot about realtime scheduling, but a co-worker once described how a priority system works in this way(sorry it's a plane analogy rather than a car analogy):

        Priority isn't based on real life importance, but frequency and tolerance to gain "overall performance as you said". Say you have software to run a plane and the microwave needs to run 1ms every 10ms and the landing gear needs to run for 10ms every 30ms. Naively one might say the landing gear is of higher priority because it
        • by weicco ( 645927 )

          I don't know much about real-time systems but what I've understood is that some embedded real-time kernels (I think QNX is one) even tells in their programmer's manuals that "function X takes Y clock cycles to execute" so you can take this into account when designing your code.

      • In addition to this post, with EDF algorithm if you meet some given conditions, you have the guaranty that your deadlines will be met.

      • The desktop scheduler may also be tweaked to try and make sure interactive tasks respond quickly

        BFS! ;)

  • by jhfry ( 829244 ) on Tuesday October 20, 2009 @08:38AM (#29807019)

    Has a deadline based scheduler been done before? It seems like an excellent idea for time sensitive (real time) processing. I have worked with RT os's before, iRMX mostly, and always wondered how the scheduling worked.

    • Yes, it has been done. This seems to be a new implementation, perhaps with different characteristics and features.
    • by Lemming Mark ( 849014 ) on Tuesday October 20, 2009 @09:02AM (#29807359) Homepage

      Deadline scheduling is well established and has been done many times, in many flavours on other OSes. It's probably even been done on Linux before. But if this one gets upstream with the blessing of the kernel community, it would enhance Linux for everyone rather than just those running particular kernel patches.

      Linux seems to be having a lot of realtime-related work (see PREEMPT-RT, a somewhat separate but related area of work) done, which is interesting - I would have said that the conventional wisdom was that large, general-purpose OSes cannot be realtime-ified. It seems like certain parties are determined to prove this wrong - and it's looking to me somewhat like getting to "good enough" realtime behaviour will make large segments of users happy even though it's perhaps unlikely to ever replace ground-up realtime OS designs.

    • Has a deadline based scheduler been done before? It seems like an excellent idea for time sensitive (real time) processing. I have worked with RT os's before, iRMX mostly, and always wondered how the scheduling worked.

      The approach in Linux has been to launch a thin RT kernel, and then have it scedule linux. Or, at least that was the approach a big RT vendor has been selling. It seemed to work nicely from the demos I've seen, and had nice instrumentation, since people who care about RT need to measure it

  • European Projects (Score:4, Interesting)

    by Lemming Mark ( 849014 ) on Tuesday October 20, 2009 @08:41AM (#29807065) Homepage

    The EU-funded projects are somewhat interesting in my experience. They tend to fund both academics and researchers from industry to do stuff and the projects tend to be more focused on practical results than a normal project funded by a research council. They can still generate research papers, etc, but there's more of an emphasis on producing new code that can actually be *used* to do stuff that wasn't available before. Whereas more academic research normally focuses on getting the code sufficiently robust that papers can be published about it, then it's often forgotten.

    I think the more practically focused work of this kind is valuable and would like to see more. It is less "valuable", academically and as such I suspect academics are less inclined to attribute prestige to those who have worked on it. It would be nice to see a bit more glory given to folks who work on these projects (disclaimer, I have done a *very* small amount of work on one myself) as a valid direction vs industry or academia. Also, this mode of development does remind me a little of some of RMS's writings about how Free Software development could be funded - here we have effectively a government body giving money to worthy causes, as represented by a team of interested experts, to enhance open source software for everyone involved in reasonably directed ways. Ideally it'd be nice to see "get stuff upstream" be a completion goal for these projects, I'm not sure to what extent that is already true.

    • Re: (Score:3, Informative)

      by IBBoard ( 1128019 )

      I don't think all of the EU FP7 stuff is "end-usable releases" - I'm working on a project that works with end-users but isn't planning (AFAIK) to be usable as-is at the end of it. At least I hope it isn't - we've got lots of fixing to do if it is :D

      If anyone cares, there's actually a public EU FP7 site [europa.eu] with more on the various projects and the proposals they put out.

      • True, at least some of the stuff I've seen worked on isn't end-user ready yet (although if they had a "get it upstream" clause that would help ensure that it gets to users eventually). But typically EU projects seem to have a greater focus on creating stuff that's useful in the real world vs useful for publishing academic papers. They seem to have more freedom / inclination to build something that might be useful but isn't academically trendy. So it's more likely to improve the state of software in a dir

    • by mvdwege ( 243851 )

      Erm, I think it is actually the other way around. Look at secure authentication over a network: which project was purely academic, and which project was a typical EU endeavour? And which project is currently in active practical use?

      Mart

  • by Chrisq ( 894406 ) on Tuesday October 20, 2009 @08:42AM (#29807095)
    Is this suitable as a general purpose scheduler or is it just for real-time systems?
    • Just real-time systems - ones where you have set deadlines :)
      • by Nadaka ( 224565 ) on Tuesday October 20, 2009 @09:11AM (#29807497)

        I think the question he is posing is:

        Is this type of scheduler perfect? Capable of real time, batch jobs and the mixed fruit bowl of jobs on a typical desktop or server?

        The answer is, probably not. There really is no such thing as a perfect scheduler. Different kinds of workloads have different requirements.

        A busy real time scheduler will tend to starve low priority jobs. This can become an issue if those low priority jobs manage to grab limited resources they are never given the time to use. As those resources dwindle, real time jobs will be harder to satisfy and the low priority jobs must be terminated or given time to release those resources. I can't really say for certain, but it looks like EDF would have these same kinds of issues.

        Interesting story a professor of mine told: An old university mainframe was brought offline after decades of operation. A core dump was performed and investigation revealed that there was a process that had been waiting to run for close to 30 years. Somehow, its priority was set to be lower than the idle process and this particular machine did not have automatic escalation of priority in its scheduler.

        • by natehoy ( 1608657 ) on Tuesday October 20, 2009 @10:24AM (#29808671) Journal

          Interesting story a professor of mine told: An old university mainframe was brought offline after decades of operation. A core dump was performed and investigation revealed that there was a process that had been waiting to run for close to 30 years. Somehow, its priority was set to be lower than the idle process and this particular machine did not have automatic escalation of priority in its scheduler.

          Actually, I think EDF would fix that, at least to an extent.

          Currently, prioritization is done based on, well priority. So if you took a job and set its priority to lower-than-idle, as you stated above, it will obviously never run.

          However, with EDF,you assign (if I understand it correctly) a deadline to each task rather than a priority. "Task X really should get done in the next 50 msec, but Task Y can wait up to 12 hours and no one's going to scream". On a normal peak-and-valley loaded machine, it'll work on the first deadline first, and if things queue up the low-"priority" ones will simply have longer deadlines. Ideally, the system has enough capacity to accommodate the longer deadline stuff "early" when it has time.

          However, on a heavily-peaked system, eventually those long-deadline jobs are going to get priority simply because their deadlines have been reached. So if you have a 50ms deadline job running every 20ms and those jobs start queuing up, then you submit a 12hour deadline job, in 12 hours that job will get the full attention of the system until it's done, because it has the earliest deadline.

          As with all things, this has its advantages and disadvantages. If that job that runs every 20ms is truly critical, then you're not going to like this scheme - eventually the low-"priority" stuff is going to come due and take precedent over your "critical" stuff because it's all based on what you asked for first, not how important each task was. On the other hand, this does prevent the very problem you describe - jobs running at such a low priority that they never get any lovin' at all.

          • by Nadaka ( 224565 )

            You are right, EDF would prevent the issue of tasks never getting CPU time. However if your interpretation is correct, it also means that the urgent tasks may not be handled in real time if that 12 hour task reaches 12 hours and still needs significant CPU time. This violates the goal of real time performance if it were to happen. But then again any real time system will eventually fail if put under a sufficiently high load.

        • Re: (Score:3, Funny)

          by CODiNE ( 27417 )

          Somewhere there's a 57 year old grad student waiting for his job to finish running.

          And then the server shut down.

          Ouch.

          • by Nadaka ( 224565 )

            Sounds like as good a time as any to either pick a different thesis project or settle for a liberal arts degree. :)

          • by Chrisq ( 894406 )

            Somewhere there's a 57 year old grad student waiting for his job to finish running.

            And then the server shut down.

            Ouch.

            He's probably in the bar and not going to budge until it finishes.

    • Is this suitable as a general purpose scheduler or is it just for real-time systems?

      Its not a scheduler, its a scheduling class for the existing Linux scheduler. A scheduler can support several different scheduling classes for processes. The current Linux scheduler supports two (Round Robin and FIFO) designed for real-time processes as well as the base one for regular processes, as I understand it.

    • EDF schedulers are usually employed in real-time systems, and those are predominantly embedded systems. They are simple to understand and analyse, such that engineers can have high confidence that all hard real-time tasks will meet their deadlines.

      Generally speaking, it is not useful for much else - you wouldn't want it in a desktop PC, for example. This is because the priority of a task is determined by its deadline in EDF and not other important factors such as the actions of a user. We like responsive

  • by Anonymous Coward on Tuesday October 20, 2009 @08:46AM (#29807141)

    Remember Con Kolivas.

    • by RiotingPacifist ( 1228016 ) on Tuesday October 20, 2009 @09:40AM (#29807941)

      For those that didn't catch it CK is back with the Brain Fuck scheduler [wikipedia.org], which improves desktop interaction, by ignoring the past. I CBA to recompile but the patches are here [kolivas.org] and while the chances of it getting into mainline are "LOL", it is being adopted by android.

      • by molnarcs ( 675885 ) <csabamolnarNO@SPAMgmail.com> on Tuesday October 20, 2009 @10:43AM (#29809037) Homepage Journal
        I really like the design of his website [kolivas.org]. Even IE renders it correctly... That's what I call a clean design, UI experts and gnome devs take note!!
      • Re: (Score:3, Interesting)

        Got a reference for "being adopted by android"? Just an experimental git tree on android.git.kernel.org doesn't prove much...

      • Actually, BFS performance is shitty [lwn.net]. No, really shitty [redhat.com].

        • by dotgain ( 630123 )

          Actually, BFS performance is shitty. No, really shitty.

          Damn. And here was me thinking that a name like "Brain Fuck Scheduler" would get some attention and give Linux just the push it needs to succeed on the desktop.

        • Re: (Score:3, Interesting)

          by BikeHelmet ( 1437881 )

          You can take your superior benchmarks and shove it. On older hardware, the difference in responsiveness with BFS is absolutely astounding.

          Those tests are multi-processor multi-core runs, which is not what BFS was designed for. I would ask you to bench it on a single single-core, dual-core, tri-core, and quad-core CPU before making such statements.

          In my own tests on a shitty VIA C7 with a horribly slow(10MB/sec) Quantum EIDE(I think) drive, BFS dropped the times to launch programs almost in half. I'd place a

          • You can take your superior benchmarks and shove it. On older hardware, the difference in responsiveness with BFS is absolutely astounding.

            And yet nobody can demonstrate it. Lots of people can feel the difference, but they tend to be the kind of people that post in forums about how the kernel developers are saboteurs for not making Reiser4 the default Linux filesystem.

            In other words, fourteen year old faggots with aspergers who should stay the fuck away from Linux and any other OS that isn't Windows.

            • I never said anything about the kernel developers - I merely attacked the benchmarks being used.

              That's something I do for every OS. Most benchmarks aren't relevant.

    • It is alright Ingo; you dont need to snicker anonymously.
  • Is this thing going to replace https://www.rtai.org/ [rtai.org] completely?

    More importantly, can http://linuxcnc.org/ [linuxcnc.org] a CNC software, benefit from this extension?

    • Why would a real time scheduler improve CNC software?

      • by sam0737 ( 648914 )

        Currently that CNC software runs with the RTAI patch.

        The part that requires realtime are bitbanging the motor controller through parallel port, or act as a DIP Controller (http://en.wikipedia.org/wiki/PID_controller) to calculate the output of a more advance motor. All these need to be coordinated precisely at deterministic time, considering that it's controlling 3+ axis motor and a spindle.

        if it miss a 100us schedule, it would definitely affect the final product output.

        Of course, one could off-load all the

  • by ae1294 ( 1547521 )

    I don't know what all the fuss is about. I just use CRON....

    Thank you, I won't be here all week...

  • I can't wait for my Linux installation to become at least 80% more efficient with this scheduler.

    I know that I become more efficient by at least that amount when a deadline approaches!

    • I know you're joking, but a deadline scheduler doesn't make the kernel more efficient, it just makes it more predictable. Usually, Real-Time Scheduling causes a drop in efficiency.

  • How does this scheduling compare to how "Pre-emptive Multitasking" was performed on something like the AmigaOS? Does it allow for the same benefits as have been described for it? And if so, would there be any inevitable downsides to it for how Linux operates and why?

    My Linux knowledge is not yet very deep but I have occasionally read mention here and there of it's multitasking methodology being different from that of many other OS's and that it is part of what keeps it from becoming a desktop entertainment

  • What to do get a try (Score:2, Informative)

    by Fri13 ( 963421 )

    I did swith from CFS to Deadline about week ago. I didn't even know this is now suggested. I just wanted to try does it help situation at all. Somehow I have feeled that CFQ has slowed my system.

    You can swtich the scheduler in running system, no need to even logout or restart. This is one reason why I love Linux OS (monolithic kernel = OS).

    became a root (or use sudo if it is a must).

    First to check out what scheduler you are currently using and what are available on your Linux OS:

    cat /sys/block/sda/queue/sch

    • I did swith from CFS to Deadline about week ago.

      You could have saved yourself a really long, boring post if you'd just read enough to realise that this story is about something completely fucking different.

      I/O schedulers are not the same as process schedulers. Thanks for the tedious fucking anecdote though.

      And I would like to test the BFS.

      Yeah, I'd say you're probably in the target audience.

  • I welcome anything that spices up competition between vxWorks, LynxOS, Green Hills, etc.

  • 1970 just left a message. It says, "You're Welcome."

There is no opinion so absurd that some philosopher will not express it. -- Marcus Tullius Cicero, "Ad familiares"

Working...