Messages in this thread | | | Subject | [RFC 0/12][PATCH] SCHED_DEADLINE (new version of SCHED_EDF) | From | Raistlin <> | Date | Fri, 16 Oct 2009 17:35:24 +0200 |
| |
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_EDF.pdf
- 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!
[unhandled content-type:application/pgp-signature] | |