| 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, Thread
|
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!