linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Juri Lelli <juri.lelli@gmail.com>
To: peterz@infradead.org, tglx@linutronix.de
Cc: mingo@redhat.com, rostedt@goodmis.org, oleg@redhat.com,
	fweisbec@gmail.com, darren@dvhart.com, johan.eker@ericsson.com,
	p.faure@akatech.ch, linux-kernel@vger.kernel.org,
	claudio@evidence.eu.com, michael@amarulasolutions.com,
	fchecconi@gmail.com, tommaso.cucinotta@sssup.it,
	juri.lelli@gmail.com, nicola.manica@disi.unitn.it,
	luca.abeni@unitn.it, dhaval.giani@gmail.com, hgu1972@gmail.com,
	paulmck@linux.vnet.ibm.com, raistlin@linux.it,
	insop.song@gmail.com, liming.wang@windriver.com,
	jkacur@redhat.com, harald.gustafsson@ericsson.com,
	vincent.guittot@linaro.org
Subject: [PATCH 00/14] sched: SCHED_DEADLINE v7
Date: Mon, 11 Feb 2013 10:50:42 -0800	[thread overview]
Message-ID: <1360608656-7969-1-git-send-email-juri.lelli@gmail.com> (raw)

Hello everyone,

several changes, some bugfixes and a major testing effort bring me to
release a new version of the SCHED_DEADLINE patchset (v7). In addition,
given the fact that the project has been around for quite some time with
always a positive feedback from the community and since we have reached
a stable and tested set of functionalities, I think it is time to remove
the RFC tag. However, I consider this as another intermediate release as
I would like even more testing from the community itself and I'm also
working to ship a motivating use case with next releases. I had many
interactions with users, especially from industry, after past releases.
Some of them seem to confirm their interest proposing enhancements and
modifications (e.g., http://bit.ly/XVQWrb); some others are willing to
collaborate directly. This makes me confident that such a use case is
on the way. 

If you missed the whole story[1], this patchset introduces a new deadline
based real-time task scheduling policy --called SCHED_DEADLINE-- with
bandwidth isolation (aka "resource reservation") capabilities. It supports
global/clustered multiprocessor scheduling through dynamic task migrations.

>From the previous releases[1]:

  - rebase on top of 3.8-rc7;
  - comments and fixes coming from the reviews we got have been considered
    and applied;
  - u128 support has been removed and internal math has been restricted
    to microseconds resolution (to avoid overflows);
  - dl.c, cpudl.{c,h} renamed as deadline.c, cpudeadline.{c,h};
  - documentation fixed and extended (how to pin -dl tasks to CPUs via
    cpusets example added).

The development is taking place at:
   https://github.com/jlelli/sched-deadline

Main branches:

 - sched-dl-V7: this patchset on top of tip/master.
 - mainline-dl: tracking tip/master (raw commits);

Check the repositories frequently if you're interested, and feel free to
e-mail me for any issue you run into.

Test applications:
  https://github.com/gbagnoli/rt-app 
  https://github.com/jlelli/schedtool-dl

Development mailing list: linux-dl; you can subscribe from here:
http://feanor.sssup.it/mailman/listinfo/linux-dl
or via e-mail (send a message to linux-dl-request@retis.sssup.it with
just the word `help' as subject or in the body to receive info).

The code was being jointly developed by ReTiS Lab (http://retis.sssup.it)
and Evidence S.r.l (http://www.evidence.eu.com) in the context of the ACTORS
EU-funded project (http://www.actors-project.eu). It is now supported by
the S(o)OS EU-funded project (http://www.soos-project.eu/).
It has also some users, both in academic and applied research. We got
positive feedbacks from Ericsson, Wind River, Porto (ISEP), Trento,
Lund and Malardalen universities.

As usual, any kind of feedback is welcome and appreciated.

Thanks in advice and regards,

 - Juri

[1] http://lwn.net/Articles/376502, http://lwn.net/Articles/353797,
    http://lwn.net/Articles/412410, http://lwn.net/Articles/490944,
    http://lwn.net/Articles/498472, http://lwn.net/Articles/521091

Dario Faggioli (9):
  sched: add sched_class->task_dead.
  sched: add extended scheduling interface.
  sched: SCHED_DEADLINE structures & implementation.
  sched: SCHED_DEADLINE avg_update accounting.
  sched: add schedstats for -deadline tasks.
  sched: add latency tracing for -deadline tasks.
  sched: drafted deadline inheritance logic.
  sched: add bandwidth management for sched_dl.
  sched: add sched_dl documentation.

Harald Gustafsson (1):
  sched: add period support for -deadline tasks.

Juri Lelli (3):
  sched: SCHED_DEADLINE SMP-related data structures & logic.
  sched: make dl_bw a sub-quota of rt_bw
  sched: speed up -dl pushes with a push-heap.

Peter Zijlstra (1):
  rtmutex: turn the plist into an rb-tree.

 Documentation/scheduler/sched-deadline.txt |  195 ++++
 arch/arm/include/asm/unistd.h              |    2 +-
 arch/arm/include/uapi/asm/unistd.h         |    3 +
 arch/arm/kernel/calls.S                    |    3 +
 arch/x86/syscalls/syscall_32.tbl           |    3 +
 arch/x86/syscalls/syscall_64.tbl           |    3 +
 include/linux/init_task.h                  |   10 +
 include/linux/rtmutex.h                    |   18 +-
 include/linux/sched.h                      |  152 ++-
 include/linux/syscalls.h                   |    7 +
 include/uapi/linux/sched.h                 |    1 +
 kernel/fork.c                              |    8 +-
 kernel/futex.c                             |    2 +
 kernel/hrtimer.c                           |    2 +-
 kernel/rtmutex-debug.c                     |    8 +-
 kernel/rtmutex.c                           |  163 ++-
 kernel/rtmutex_common.h                    |   22 +-
 kernel/sched/Makefile                      |    4 +-
 kernel/sched/core.c                        |  657 ++++++++++-
 kernel/sched/cpudeadline.c                 |  208 ++++
 kernel/sched/cpudeadline.h                 |   33 +
 kernel/sched/deadline.c                    | 1658 ++++++++++++++++++++++++++++
 kernel/sched/debug.c                       |   46 +
 kernel/sched/rt.c                          |    2 +-
 kernel/sched/sched.h                       |  146 +++
 kernel/sched/stop_task.c                   |    2 +-
 kernel/sysctl.c                            |    7 +
 kernel/trace/trace_sched_wakeup.c          |   44 +-
 kernel/trace/trace_selftest.c              |   28 +-
 29 files changed, 3317 insertions(+), 120 deletions(-)
 create mode 100644 Documentation/scheduler/sched-deadline.txt
 create mode 100644 kernel/sched/cpudeadline.c
 create mode 100644 kernel/sched/cpudeadline.h
 create mode 100644 kernel/sched/deadline.c

-- 
1.7.9.5


             reply	other threads:[~2013-02-11 18:51 UTC|newest]

Thread overview: 15+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2013-02-11 18:50 Juri Lelli [this message]
2013-02-11 18:50 ` [PATCH 01/14] sched: add sched_class->task_dead Juri Lelli
2013-02-11 18:50 ` [PATCH 02/14] sched: add extended scheduling interface Juri Lelli
2013-02-11 18:50 ` [PATCH 03/14] sched: SCHED_DEADLINE structures & implementation Juri Lelli
2013-02-11 18:50 ` [PATCH 04/14] sched: SCHED_DEADLINE SMP-related data structures & logic Juri Lelli
2013-02-11 18:50 ` [PATCH 05/14] sched: SCHED_DEADLINE avg_update accounting Juri Lelli
2013-02-11 18:50 ` [PATCH 06/14] sched: add period support for -deadline tasks Juri Lelli
2013-02-11 18:50 ` [PATCH 07/14] sched: add schedstats " Juri Lelli
2013-02-11 18:50 ` [PATCH 08/14] sched: add latency tracing " Juri Lelli
2013-02-11 18:50 ` [PATCH 09/14] rtmutex: turn the plist into an rb-tree Juri Lelli
2013-02-11 18:50 ` [PATCH 10/14] sched: drafted deadline inheritance logic Juri Lelli
2013-02-11 18:50 ` [PATCH 11/14] sched: add bandwidth management for sched_dl Juri Lelli
2013-02-11 18:50 ` [PATCH 12/14] sched: make dl_bw a sub-quota of rt_bw Juri Lelli
2013-02-11 18:50 ` [PATCH 13/14] sched: speed up -dl pushes with a push-heap Juri Lelli
2013-02-11 18:50 ` [PATCH 14/14] sched: add sched_dl documentation Juri Lelli

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=1360608656-7969-1-git-send-email-juri.lelli@gmail.com \
    --to=juri.lelli@gmail.com \
    --cc=claudio@evidence.eu.com \
    --cc=darren@dvhart.com \
    --cc=dhaval.giani@gmail.com \
    --cc=fchecconi@gmail.com \
    --cc=fweisbec@gmail.com \
    --cc=harald.gustafsson@ericsson.com \
    --cc=hgu1972@gmail.com \
    --cc=insop.song@gmail.com \
    --cc=jkacur@redhat.com \
    --cc=johan.eker@ericsson.com \
    --cc=liming.wang@windriver.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=luca.abeni@unitn.it \
    --cc=michael@amarulasolutions.com \
    --cc=mingo@redhat.com \
    --cc=nicola.manica@disi.unitn.it \
    --cc=oleg@redhat.com \
    --cc=p.faure@akatech.ch \
    --cc=paulmck@linux.vnet.ibm.com \
    --cc=peterz@infradead.org \
    --cc=raistlin@linux.it \
    --cc=rostedt@goodmis.org \
    --cc=tglx@linutronix.de \
    --cc=tommaso.cucinotta@sssup.it \
    --cc=vincent.guittot@linaro.org \
    /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).