On Monday 23. November 2009 15.08.15 Peter Zijlstra wrote: > On Wed, 2009-11-18 at 21:11 +0100, Jon Tore Hafstad wrote: > > Hi all > > > > I wish to inform you about an update of LinSched (The Linux Scheduler > > Simulator([1])) I'm currently working on. > > > > == Motivation == > > I wished to implement different EDF schedulers to gain a better > > understanding of kernel internals as well as scheduling dynamics. I > > got some feedback from Henrik Austad that LinSched was a tool that > > made implementing a scheduler in to the linux kernel easier, since > > the code compiles in a fraction of the time the kernel does (Yes, I > > know you can pull all sorts of tricks and tweaks in order to speed up > > a kernel compilation), a segfault will be a segfault, and not a kernel > > oops ;),and the full range of debuggers and memory analyzers will be > > available. > > I would have expected people to use UML for this (User-Mode-Linux, not > the draw lots of silly pictures thing). What is the current status of UML - is anyone actually working on that these days? > The main draw-back is that UML doesn't currently support SMP and any > interesting preemption modes, but adding that to UML would help out more > people -- I know the VM (virtual Memory, not the machine thing) people > used to use UML for exactly these reasons, easy gdb, etc.. Well, another drawback of UML is the size. The whole point with LinSched is to be *lightweight* while still being accurate. By accurate I mean that code written and tested with LinSched should work nearly out of the box when placed in the kernel. LinSched is all about scheduling - nothing else. To be able to compile the code in a fraction of a second, and then simulate hours worth of computing (or at least the task-switches) can be *very* useful. IMHO, making it easy to test new scheduling algorithms is a very neat way of attracting new kernel/scheduler hackers (as well as testing all sorts of crazy algorithms). Just my $0.02 -- henrik