LKML Archive on
help / color / mirror / Atom feed
* [ANNOUNCE] Linsched for 2.6.35 released
@ 2010-10-12 17:29 Ranjit Manomohan
  2010-10-19  4:52 ` Vaidyanathan Srinivasan
  0 siblings, 1 reply; 5+ messages in thread
From: Ranjit Manomohan @ 2010-10-12 17:29 UTC (permalink / raw)
  To: linux-kernel
  Cc: Mike Galbraith, Nikhil Rao, Salman Qazi, Dhaval Giani,
	Peter Zijlstra, Ingo Molnar, Thomas Gleixner,
	Venkatesh Pallipadi, Paul Turner

  I would like to announce the availability of the Linux Scheduler Simulator
(Linsched) for 2.6.35.

Originally developed at the University of North Carolina, LinSched is a
user-space program that hosts the Linux scheduling subsystem.
Its purpose is to provide a tool for observing and modifying the behavior
of the Linux scheduler. This makes it a valuable tool in prototyping new
Linux scheduling policies in a way that may be easier (or otherwise
less painful or time-consuming) to many developers when compared
to working with real hardware.

Since Linsched allows arbitrary hardware topologies to be modeled,
it enables testing of scheduler changes on hardware that may not be
easily accessible to the developer. For example, most developers don't
have access to a quad-core quad-socket box, but they can use LinSched
to see how their changes affect the scheduler on such boxes.

When compared to alternatives such as using UML which may offer
similar benefits to developers, Linsched has fewer dependencies and
relies on a very small subset of files of the kernel. It also offers stable
and repeatable results that are not affected by the environment or
hardware that is used to run the simulation.

LinSched may be especially useful to those who are new to Linux
scheduler development since it brings all the benefits of user space
analysis and debugging tools (e.g. gdb) to understanding the
kernel scheduler code.

The code is available at:;a=summary

You can clone the repository using:

git clone git://

New features/functionality in this release are:
-- Based on the 2.6.35 kernel
-- support for group scheduling
-- Ability to specify arbitrary sleep/wakeup patterns for tasks
-- High resolution timers
-- Tickless scheduler (no hz)
-- sched domain support for all levels

At Google we have used Linsched as a testing tool to validate the
behavior of the kernel scheduler. Please see some of the basic tests
we have added at linsched/basic_tests.c. We could  cut down our
validation time from several days to a couple of hours due to the ability
to run multiple tests on several different types of hardware models.

Recently we have proposed a set of enhancements to the CFS scheduler
 -- CFS bandwidth control
 -- Improved load balancing for low weight tasks
These features have been extensively validated using this new infrastructure
which has helped weed out some bugs that would have been difficult to catch
otherwise. See for an
example of a load balancing bug uncovered during testing.

We are working on a port of Linsched to 2.6.36 and I would encourage folks
experimenting with the kernel scheduler to give it a try. Please see the
instructions specified in the linsched/README file to build and run tests.

-Please contact me if you run into any difficulties or have any questions

-Ranjit Manomohan

^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2011-02-15 18:25 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2010-10-12 17:29 [ANNOUNCE] Linsched for 2.6.35 released Ranjit Manomohan
2010-10-19  4:52 ` Vaidyanathan Srinivasan
2010-11-16  1:52   ` Ranjit Manomohan
2011-02-08 18:10     ` Vaidyanathan Srinivasan
2011-02-15 18:25       ` Ranjit Manomohan

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).