User: Password:
|
|
Subscribe / Log in / New account

SCHED_DEADLINE (new version of SCHED_EDF)

From:  Raistlin <raistlin@linux.it>
To:  Peter Zijlstra <peterz@infradead.org>
Subject:  [RFC 0/12][PATCH] SCHED_DEADLINE (new version of SCHED_EDF)
Date:  Fri, 16 Oct 2009 17:35:24 +0200
Message-ID:  <1255707324.6228.448.camel@Palantir>
Cc:  raistlin@linux.it, linux-kernel <linux-kernel@vger.kernel.org>, michael trimarchi <michael@evidence.eu.com>, Fabio Checconi <fabio@gandalf.sssup.it>, Ingo Molnar <mingo@elte.hu>, Thomas Gleixner <tglx@linutronix.de>, Dhaval Giani <dhaval.giani@gmail.com>, Johan Eker <johan.eker@ericsson.com>, "p.faure" <p.faure@akatech.ch>, Chris Friesen <cfriesen@nortel.com>, Steven Rostedt <rostedt@goodmis.org>, Henrik Austad <henrik@austad.us>, Frederic Weisbecker <fweisbec@gmail.com>, Darren Hart <darren@dvhart.com>, Sven-Thorsten Dietrich <sven@thebigcorporation.com>, Bjoern Brandenburg <bbb@cs.unc.edu>, Tommaso Cucinotta <tommaso.cucinotta@sssup.it>, "giuseppe.lipari" <giuseppe.lipari@sssup.it>, Juri Lelli <juri.lelli@gmail.com>
Archive-link:  Article

Hi Peter, Hi all,

Given all the comments and feedback we got, here it is the new version
of our EDF patch, this time in a split series. :-)

Special thanks to all the one that gave us any kind of suggestion,
especially during last RTLWS in Dresden.

The rationale/motivation for the new scheduler is the same of the first
e-mail (http://lwn.net/Articles/353797/), thus I only add some new and
(I think) interesting links:
 - Ericsson posting about SCHED_EDF/DEADLINE
    https://labs.ericsson.com/blog/making-linux-more-real-time

 - The slides we presented at RTLWS in Dresden:
    http://retis.sssup.it/people/faggioli/sched_deadline/rtlw...

 - Luca Abeni's presentation about using deadline based reservation 
   schedulers for IRQ-Threads:
    http://www.disi.unitn.it/~abeni/rtlws-slides.pdf

Moreover, we moved the project on gitorious.org, therefore:
 http://gitorious.org/sched_deadline

I am also setting up right now the Wiki section, where you can find some
more detailed usage instructions, examples and overhead estimation:
 http://gitorious.org/sched_deadline/pages/Home

Git repositories are up and running, and ready at:
(mainline)
 git://gitorious.org/sched_deadline/linux-deadline.git sched-deadline 

(sched-devel)
 git://gitorious.org/sched_deadline/linux-deadline.git sched-devel-deadline

(preempt-rt [*])
 git://gitorious.org/sched_deadline/linux-deadline.git rt-deadline

The new project homepage is
 http://www.evidence.eu.com/sched_deadline.html

Here the main changes we did, following what many of you --and mainly
Peter-- suggested:
- name changed from SCHED_EDF to SCHED_DEADLINE

- SCHED_DEADLINE has higher priority than SCHED_FIFO/SCHED_RR

- flags added in sched_param_ex to signal deadline misses
  (in case of utilization > 100%) and/or budget overruns

- new sched_*_ex prototypes, with a len field to accomodate the size of
  sched_param_ex, trying to avoid further ABI issues if it changes

- new syscall sched_wait_interval added. It behaves like clock_nanosleep
  but, for a SCHED_DEADLINE task, it also represent the end of the
  current instance (sched_yield no longer needed)

- on fork, child starts but with 0 bandwidth (i.e., it does not start! :-D)

- bug fixing :)

Any feedback and contribution is welcome.

Many thanks,

             Dario Faggioli
             Claudio Scordino
             Michael Trimarchi

[*] porting toward preempt-rt is work in progress. Code is there, but we
are testing and fixing it, with the help of Luca and Nicola from
Trento... So don't consider it as the final version!



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