linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Raistlin <raistlin@linux.it>
To: Peter Zijlstra <peterz@infradead.org>
Cc: Ingo Molnar <mingo@elte.hu>, Thomas Gleixner <tglx@linutronix.de>,
	Steven Rostedt <rostedt@goodmis.org>,
	Chris Friesen <cfriesen@nortel.com>,
	Frederic Weisbecker <fweisbec@gmail.com>,
	Darren Hart <darren@dvhart.com>, Henrik Austad <henrik@austad.us>,
	Johan Eker <johan.eker@ericsson.com>,
	"p.faure" <p.faure@akatech.ch>,
	linux-kernel <linux-kernel@vger.kernel.org>,
	Dario <raistlin@linux.it>,
	Claudio Scordino <claudio@evidence.eu.com>,
	michael trimarchi <trimarchi@retis.sssup.it>,
	Fabio Checconi <fabio@gandalf.sssup.it>,
	Tommaso Cucinotta <t.cucinotta@sssup.it>,
	Juri Lelli <juri.lelli@gmail.com>,
	Nicola Manica <nicola.manica@gmail.com>,
	Luca Abeni <luca.abeni@unitn.it>
Subject: [RFC][PATCH 0/11] sched: SCHED_DEADLINE v2
Date: Sun, 28 Feb 2010 20:06:16 +0100	[thread overview]
Message-ID: <1267383976.13676.79.camel@Palantir> (raw)

[-- Attachment #1: Type: text/plain, Size: 4787 bytes --]

Hi everybody,

Here it is the new version of the SCHED_DEADLINE patchset.

For the ones that missed the first posting[*], it is basically a new
scheduling policy (implemented inside its own scheduling class) aiming
at introducing deadline scheduling for Linux tasks, and it is being
developed by Evidence S.r.l. (http://www.evidence.eu.com) in the context
of the EU-Funded project ACTORS (http://www.actors-project.eu/).

From the previous version, mainly:
 - I followed all the suggestions --about bug-fixing and code
   restyling-- that Peter kindly gave us in his review;
 - in particular, I rewrote from scratch the group part, i.e.,
   bandwidth is now accounted for in a per-CPU fashion, such that
   the interface is the same we already have for RT-throttling;
 - I added a first drafted implementation of deadline inheritance, even
   though it surely needs thorough testing and refinements.

The official page of the project is:
  http://www.evidence.eu.com/sched_deadline.html

while the development is taking place at[**]:
  http://gitorious.org/sched_deadline/pages/Home
  http://gitorious.org/sched_deadline

Still Missing parts:
 - bandwidth reclaiming mechanisms, i.e., methods that avoid stopping
   the tasks until their next deadline when overrunning. There are at
   least three of them that are very simple, and patches are on their
   way;
 - porting to PREEMPT-RT is almost done --thanks to Nicola and Luca--
   and separate patches will be available on the project website soon;
 - migration of tasks throughout push and pull (as in -rt), to make it
   possible to deploy global-EDF scheduling. Patches are ready, they're
   just being tested and adapted to this last version;
 - refinements in deadline inheritance, especially regarding the
   possibility of retaining bandwidth isolation among non-interacting
   tasks. This is being studied from both theoretical and practical
   points of view, and hopefully we can have some demonstrative code
   soon.

As Fabio said recently, I also would like to remark that we are
addressing different problems and providing the kernel with different
new features, but we can share some code and we'll definitely do that if
it is the case.

Patchset against Linus' master (at the time of this writing) follows,
comments and any kind of feedback is, as usual, more than welcome.

Many thanks and Regards,
	Dario Faggioli
	Claudio Scordino
	Michael Trimarchi

[*] http://lwn.net/Articles/353797/
[**] the repositories are outdated right now, I'll post the last changes
     and the last version of utilities and testing programs in the very
     next days.

Dario Faggioli, SCHED_DEADLINE (11)
  sched: add sched_class->task_dead.
  sched: SCHED_DEADLINE policy implementation.
  sched: add extended scheduling interface.
  sched: add resource limits for -deadline tasks.
  sched: add a syscall to wait for the next instance.
  sched: add the sched-debug bits for sched_dl.
  sched: add latency tracing for -deadline tasks.
  sched: send SIGXCPU at -deadline task overruns.
  sched: first draft of deadline inheritance.
  sched: add bandwidth management for sched_dl.
  sched: add sched_dl documentation.

 Documentation/scheduler/sched-deadline.txt |  188 ++++
 arch/arm/include/asm/unistd.h              |    4 +
 arch/arm/kernel/calls.S                    |    4 +
 arch/x86/ia32/ia32entry.S                  |    4 +
 arch/x86/include/asm/unistd_32.h           |    6 +-
 arch/x86/include/asm/unistd_64.h           |    8 +
 arch/x86/kernel/syscall_table_32.S         |    4 +
 include/asm-generic/resource.h             |    7 +-
 include/linux/sched.h                      |  173 ++++
 include/linux/syscalls.h                   |    9 +
 init/Kconfig                               |   15 +
 kernel/fork.c                              |   12 +
 kernel/hrtimer.c                           |    2 +-
 kernel/sched.c                             | 1329 +++++++++++++++++++++++++++-
 kernel/sched_debug.c                       |   36 +-
 kernel/sched_dl.c                          |  787 ++++++++++++++++
 kernel/sched_fair.c                        |    2 +-
 kernel/sched_rt.c                          |    2 +-
 kernel/sysctl.c                            |   21 +
 kernel/trace/trace_sched_wakeup.c          |   44 +-
 kernel/trace/trace_selftest.c              |   30 +-
 21 files changed, 2630 insertions(+), 57 deletions(-)

-- 
<<This happens because I choose it to happen!>> (Raistlin Majere)
----------------------------------------------------------------------
Dario Faggioli, ReTiS Lab, Scuola Superiore Sant'Anna, Pisa  (Italy)

http://blog.linux.it/raistlin / raistlin@ekiga.net /
dario.faggioli@jabber.org

[-- Attachment #2: This is a digitally signed message part --]
[-- Type: application/pgp-signature, Size: 197 bytes --]

             reply	other threads:[~2010-02-28 19:06 UTC|newest]

Thread overview: 25+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2010-02-28 19:06 Raistlin [this message]
2010-02-28 19:15 ` [RFC][PATCH 01/11] sched: add sched_class->task_dead Raistlin
2010-02-28 19:17 ` [RFC][PATCH 02/11] sched: SCHED_DEADLINE policy implementation Raistlin
2010-04-13 18:22   ` Peter Zijlstra
2010-04-13 18:22   ` Peter Zijlstra
2010-04-13 18:22   ` Peter Zijlstra
2010-04-13 18:55     ` Steven Rostedt
2010-04-15  7:34       ` Peter Zijlstra
2010-04-13 18:22   ` Peter Zijlstra
2010-04-13 18:22   ` Peter Zijlstra
2010-02-28 19:18 ` [RFC][PATCH 03/11] sched: add extended scheduling interface Raistlin
2010-02-28 19:19 ` [RFC][PATCH 04/11] sched: add resource limits for -deadline tasks Raistlin
2010-02-28 19:20 ` [RFC][PATCH 05/11] sched: add a syscall to wait for the next instance Raistlin
2010-02-28 19:22 ` [RFC][PATCH 06/11] sched: add the sched-debug bits for sched_dl Raistlin
2010-02-28 19:23 ` [RFC][PATCH 07/11] sched: add latency tracing for -deadline tasks Raistlin
2010-02-28 19:24 ` [RFC][PATCH 08/11] sched: send SIGXCPU at -deadline task overruns Raistlin
2010-04-13 18:22   ` Peter Zijlstra
2010-04-13 19:32     ` Oleg Nesterov
2010-02-28 19:26 ` [RFC][PATCH 09/11] sched: first draft of deadline inheritance Raistlin
2010-04-14  8:25   ` Peter Zijlstra
2010-04-14  9:45     ` Peter Zijlstra
2010-02-28 19:27 ` [RFC][PATCH 10/11] sched: add bandwidth management for sched_dl Raistlin
2010-04-14 10:09   ` Peter Zijlstra
2010-02-28 19:28 ` [RFC][PATCH 11/11] sched: add sched_dl documentation Raistlin
2010-04-14 10:17 ` [RFC][PATCH 0/11] sched: SCHED_DEADLINE v2 Peter Zijlstra

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1267383976.13676.79.camel@Palantir \
    --to=raistlin@linux.it \
    --cc=cfriesen@nortel.com \
    --cc=claudio@evidence.eu.com \
    --cc=darren@dvhart.com \
    --cc=fabio@gandalf.sssup.it \
    --cc=fweisbec@gmail.com \
    --cc=henrik@austad.us \
    --cc=johan.eker@ericsson.com \
    --cc=juri.lelli@gmail.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=luca.abeni@unitn.it \
    --cc=mingo@elte.hu \
    --cc=nicola.manica@gmail.com \
    --cc=p.faure@akatech.ch \
    --cc=peterz@infradead.org \
    --cc=rostedt@goodmis.org \
    --cc=t.cucinotta@sssup.it \
    --cc=tglx@linutronix.de \
    --cc=trimarchi@retis.sssup.it \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).