LWN.net Logo

LFCS: ARM, control groups, and the next 20 years

LFCS: ARM, control groups, and the next 20 years

Posted Apr 16, 2011 10:07 UTC (Sat) by WolfWings (guest, #56790)
In reply to: LFCS: ARM, control groups, and the next 20 years by rilder
Parent article: LFCS: ARM, control groups, and the next 20 years

[...] They still use a O(1) scheduler which Linux used eons back. [...]

And many of the largest users of Linux have forward-ported the O(1) scheduler *BACK* into Linux as of 2.6.26 at least, and some users are using the tree w/ the BrainFuck scheduler instead, which is another O(1) scheduler that works all the way up to 2.6.38 already.

http://lwn.net/Articles/357658/

http://ck.kolivas.org/patches/bfs/

So, just because the 'official' mainline Linux scheduler is no longer the 'old O(1) scheduler' doesn't mean that O(1) schedulers are dead, they're quite actively used, and many people prefer them to the recent attempts to add more brains to the scheduler. Much like trying to add filesystem-aware processing to hard drives, I don't think adding deeply program-aware tuning to schedulers without trusting the programs to tell the kernel about themselves will work, long-term.


(Log in to post comments)

LFCS: ARM, control groups, and the next 20 years

Posted Apr 16, 2011 13:46 UTC (Sat) by corbet (editor, #1) [Link]

Umm... the current CFS scheduler was written (as was Con's deadline scheduler before it) to get all of those interactivity heuristics out of the kernel. They are still mostly gone. Con's BFS (which is not an O(1) scheduler sticks with the fairness approach. Things have improved since the O(1) days.

LFCS: ARM, control groups, and the next 20 years

Posted Apr 16, 2011 20:39 UTC (Sat) by rilder (subscriber, #59804) [Link]

I should have clarified better. I was not referring to any scheduler with complexity of O(1). I was specifically referring to scheduler predating current CFS in mainline. That scheduler was called O(1), and *no*, current BFS is not similar to that. One of most salient differences being, the history or any history distribution not being maintained by either BFS or CFS. FreeBSD, OTOH, still has a scheduler (ULE) with semantics predating back to that O(1) scheduler linux *had*. Check -- http://jeffr-tech.livejournal.com/24280.html -- for some interesting nitbits. Also, with regards to interactivity (which is what I was referring to earlier when i meant desktops), this scheduler is not up to the mark. There is also a proposal to "clean room" port BFS to FreeBSD among GSoC projects.

Copyright © 2013, Eklektix, Inc.
Comments and public postings are copyrighted by their creators.
Linux is a registered trademark of Linus Torvalds