Re: CFS and O(1) scheduler



Since it
maintains RB Tree and always pick the root node to run, its a O(1)
scheduler. It has a separate process to maintain RB tree which run
independent of scheduler.

Now this again is interesting regarding embedded use.

I learned that it needs a lot of code and RAM to do an O(1) scheduler.

While with many processes, this is very appropriate, for embedded projects with only a few active processes, the old O(N) scheduler is a lot faster - especially when the cache size is limited, which also is true with most embedded projects.

So it might be a good idea to use the old O(N) scheduler with (small) embedded devices. Is there a possibility to drop same in when compiling the Kernel ?

-Michael
.



Relevant Pages

  • [git pull] scheduler changes for v2.6.26
    ... please pull the latest scheduler git tree from: ... sched: fix cpus_allowed settings ... move large array from stack to _initdata section ...
    (Linux-Kernel)
  • [announce] CFS-devel, performance improvements
    ... announce the latest iteration of the CFS scheduler development tree. ... Scheduler' patch as well and integrated them into CFS. ... metrics from CFS that might have been needed but ended up being ...
    (Linux-Kernel)
  • Re: [Announce] [patch] Modular Scheduler Core and Completely Fair Scheduler [CFS]
    ... and thus has no 'array switch' artifacts (by which both the vanilla ... trees are O), the rbtree being balanced and the radix tree ... about one year ago when he fixed lots of problems in mainline scheduler. ... agressively than under the vanilla scheduler. ...
    (Linux-Kernel)
  • Trying to find ULEs benchmark program
    ... I'm in the process of preparing for an internship during which I will be ... on the availability of existing scheduler benchmarking tools. ... Late can be found in the FreeBSD source tree. ...
    (freebsd-questions)
  • Re: CFS and O(1) scheduler
    ... scheduler still is the best choice. ... Although I don't have much experience on CFS but according to my ... maintains RB Tree and always pick the root node to run, ... It has a separate process to maintain RB tree which run ...
    (comp.os.linux.embedded)