[lkml]   [2010]   [Oct]   [12]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
Messages in this thread
    Subject[ANNOUNCE] Linsched for 2.6.35 released
    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

     \ /
      Last update: 2010-10-12 19:33    [W:0.030 / U:64.412 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site