OSPERT'11 Sources

The code for the various modified versions of SCHED_DEADLINE described and evaluated in our paper submitted to this year (2011) edition of OSPERT is hosted here, under the linux-deadline.git repository, in the following branches:
1. ospert/sched-dl-V3-original,
2. ospert/sched-dl-V3-fmask and
3. ospert/sched-dl-V3-pheap

It can therefore be checked-out with the following commands:
1. git clone git://gitorious.org/sched_deadline/linux-deadline.git -b ospert/sched-dl-V3-original
2. git clone git://gitorious.org/sched_deadline/linux-deadline.git -b ospert/sched-dl-V3-fmask
3. git clone git://gitorious.org/sched_deadline/linux-deadline.git -b ospert/sched-dl-V3-pheap

For compilation, build and for how to obtain and use auxiliary tools, the instructions reported below in this page and in Usage are to be followed.

All the scripts and the data sets used for the experimental evaluation of the proposed approaches can be found here: OSPERT'11 Materials.

Downloading Instructions

Cloning the kernel sources

  • trunk, on top of tip:
    git clone git://gitorious.org/sched_deadline/linux-deadline.git
  • latest stable released version(s), on top of tip at the time of release, v2.6.36 or v2.6.31:
    git clone git://gitorious.org/sched_deadline/linux-deadline.git -b latest/sched-dl-V3
    git clone git://gitorious.org/sched_deadline/linux-deadline.git -b latest/2.6.36-dl-V3
    git clone git://gitorious.org/sched_deadline/linux-deadline.git -b latest/2.6.31-dl-V3
  • old verion(s), on top of tip at the time of release:
    git clone git://gitorious.org/sched_deadline/linux-deadline.git -b old/sched-dl-V2
    git clone git://gitorious.org/sched_deadline/linux-deadline.git -b old/sched-dl-V2
  • work in progress version, on top of… something
    git clone git://gitorious.org/sched_deadline/linux-deadline.git -b wip/sched-dl

Cloning the schedtool sources

  • trunk:
    git clone git://gitorious.org/sched_deadline/schedtool-dl.git
  • latest stable version(s):
    git clone git://gitorious.org/sched_deadline/schedtool-dl.git -b latest/sched-dl-V3
    git clone git://gitorious.org/sched_deadline/schedtool-dl.git -b latest/2.6.36-dl-V3
    git clone git://gitorious.org/sched_deadline/schedtool-dl.git -b latest/2.6.31-dl-V3
  • old version(s):
    git clone git://gitorious.org/sched_deadline/schedtool-dl.git -b old/sched-dl-V2
    git clone git://gitorious.org/sched_deadline/schedtool-dl.git -b old/sched-dl-V1
  • work in progress version:
    git clone git://gitorious.org/sched_deadline/schedtool-dl.git -b wip/sched-dl

Some recommendations: for developing, bugfixing and contributing back patches (always welcome!! :-D) use trunk or latest/*. Feel free to checkout the WiP branch, if you really want to peek at what’s going on, but do not expect it to be complete, to compile, to leave your machine alive, and things like these!

Also, be sure to use the matching version of kernel and schedtool, libdl.

Compilation Instructions

Configuration

There is no need to enable any particular menuconfig switch to have the new SCHED_DEADLINE policy in place.

To enable DEADLINE group scheduling the following options need to be set as shown below:

  • CONFIG_EXPERIMENTAL = y
  • CONFIG_GROUP_SCHED = y
  • CONFIG_CGROUPS = y
  • CONFIG_USER_SCHED = n (if it is still there!)
  • CONFIG_CGROUP_SCHED = y

SCHED_DEADLINE menuconfig

Some other recommended (but not strictly required) configuration settings:

  • CONFIG_HIGH_RES_TIMERS = y
  • CONFIG_PREEMPT = y
  • CONFIG_HZ_1000 = y

Compilation and Installation

Just compile and install the kernel as usual (i.e., make, make-kpkg, etc.)

Compile and install the modified schedtool with the classical make && make install as prescribed by the README and INSTALL files.

Back to Homepage

<——


Created by Dario Faggioli, C 2009, 2010, 2011