public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
From: Peter Zijlstra <peterz@infradead.org>
To: Harald Gustafsson <hgu1972@gmail.com>
Cc: Raistlin <raistlin@linux.it>,
	linux-kernel <linux-kernel@vger.kernel.org>,
	Song Yuan <song.yuan@ericsson.com>,
	Dmitry Adamushko <dmitry.adamushko@gmail.com>,
	Thomas Gleixner <tglx@linutronix.de>,
	Nicola Manica <nicola.manica@disi.unitn.it>,
	Luca Abeni <lucabe72@email.it>,
	Claudio Scordino <claudio@evidence.eu.com>,
	Harald Gustafsson <harald.gustafsson@ericsson.com>,
	Bjoern Brandenburg <bbb@email.unc.edu>,
	bastoni@cs.unc.edu, Giuseppe Lipari <lipari@retis.sssup.it>
Subject: Re: periods and deadlines in SCHED_DEADLINE
Date: Sat, 10 Jul 2010 20:31:50 +0200	[thread overview]
Message-ID: <1278786710.1998.63.camel@laptop> (raw)
In-Reply-To: <AANLkTilufL0jgoqQLKjxbu0egN2l6lCkF9JPCxBfV3Gz@mail.gmail.com>

On Sat, 2010-07-10 at 19:19 +0200, Harald Gustafsson wrote:
> 2010/7/9 Peter Zijlstra <peterz@infradead.org>:
> > One thing we could do, although this would make the proposed scheduler a
> > wee bit more complex, is split between hard and soft realtime. Only
> > accept P==rel_D for hard, and schedule the soft tasks in the hard slack
> > or something like that.
> >
> > That way we can later extend the hard admission tests to accept more.
> 
> Sorry for jumping in a bit late. I'm not that happy with this
> suggestion if I understand you correctly. The main reason for having
> deadlines shorter than the periods is for tasks that need a short
> response time and likely are most important for the system to be
> scheduled as fast as possible. Hence if they get scheduled after the
> tasks with deadline=period then that defeat the purpose with having a
> short deadline. Quite often these tasks are short and hence only need
> a low bandwidth, i.e. long period between activations relative to
> deadline and runtime.

> Did I get your proposal correct? Do you agree that tasks that need to
> set a deadline < period usually do that since they need to be
> scheduled in quickly?

Sure, but 'quickly' doesn't convey whether its soft or hard RT you're
interested in. The soft scheme would still have a bound on the tardiness
and is quite sufficient for a large number of workloads (but of course
there are plenty hard workloads too).

> But also other use cases exist with longer running tasks (e.g. around
> 5-10 ms) per period (e.g. around 20 ms). You might have several of
> such tasks running, but as a system designer you know that their
> activation phase will allow them to be scheduled interleaved. This can
> be for example you know that the interrupt pattern waking the tasks
> are interleaved. The admission test would be even more complex if we
> also need to take into account the phases of task periods. Hence I
> think some of these things need to be left for the system designer
> without being hindered by an admission into the highest hard deadline
> scheduling policy. As you might have understood I'm mostly talking
> about embedded system, which have some tasks that are central parts of
> the running system but which also might in parallel run more generic
> software.

That is a very delicate point, the whole reason SCHED_FIFO and friends
suck so much is that they don't provide any kind of isolation, and thus,
as an Operating-System abstraction they're an utter failure.

If you take out admission control you end up with a similar situation.

In general the sporadic task model schedulers don't need to be
privileged because it does provide isolation. But the moment you allow
by-passing the admission control everything goes out the window. So even
a simple privileged flag telling the admission control to stuff it would
render the whole system unusable, you'd have to start failing everything
not having that flag, simply because the admission control is rendered
useless.

So I would like to take the stand that the mainline scheduler will not
allow such a knob and people will have to help out with improving the
admission controller.

Embedded people can of course easily hack in whatever they well fancy,
and adding the 'yes_I_really_want_this_anyway' flag or even taking out
admission control all together is something the GPL allows them to do.



  reply	other threads:[~2010-07-10 18:32 UTC|newest]

Thread overview: 43+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2010-07-09 13:38 periods and deadlines in SCHED_DEADLINE Raistlin
2010-07-09 14:18 ` Peter Zijlstra
2010-07-09 14:51   ` Bjoern Brandenburg
2010-07-09 16:35     ` Peter Zijlstra
2010-07-10  9:01       ` Raistlin
2010-07-10 10:28         ` Peter Zijlstra
2010-07-10 14:49           ` Raistlin
2010-07-11  6:42         ` Bjoern Brandenburg
2010-08-03  9:41           ` Peter Zijlstra
2010-08-04  3:52             ` Andrea Bastoni
2010-08-04  7:14               ` Peter Zijlstra
2010-08-04  5:18             ` Bjoern Brandenburg
2010-08-03  9:46           ` Peter Zijlstra
2010-08-04  3:53             ` Andrea Bastoni
2010-08-04  5:02             ` Bjoern Brandenburg
2010-07-10  7:08     ` Raistlin
2010-07-11  6:46       ` Bjoern Brandenburg
2010-08-03  8:16         ` Peter Zijlstra
2010-08-03 11:42           ` Gregory Haskins
2010-08-04  6:30           ` Bjoern Brandenburg
2010-07-09 14:24 ` Peter Zijlstra
2010-07-10  7:11   ` Luca Abeni
2010-07-10 10:36     ` Peter Zijlstra
2010-07-11  6:12       ` Bjoern Brandenburg
2010-07-09 14:30 ` Peter Zijlstra
2010-07-10  9:14   ` Raistlin
2010-07-10 17:19   ` Harald Gustafsson
2010-07-10 18:31     ` Peter Zijlstra [this message]
2010-07-10 20:08       ` Harald Gustafsson
2010-07-10 21:52         ` Raistlin
2010-07-11  5:41           ` Harald Gustafsson
2010-07-11  7:32         ` Bjoern Brandenburg
2010-07-12 10:21           ` Harald Gustafsson
2010-08-04  5:55             ` Bjoern Brandenburg
2010-08-02 19:34           ` Peter Zijlstra
2010-08-04  4:44             ` Bjoern Brandenburg
2010-07-09 14:32 ` Peter Zijlstra
2010-07-10  7:50   ` Raistlin
2010-07-10 15:11     ` Peter Zijlstra
2010-07-10 17:29       ` Harald Gustafsson
2010-07-11  6:15     ` Bjoern Brandenburg
2010-07-10  7:09 ` Luca Abeni
2010-07-10  9:20   ` Raistlin

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=1278786710.1998.63.camel@laptop \
    --to=peterz@infradead.org \
    --cc=bastoni@cs.unc.edu \
    --cc=bbb@email.unc.edu \
    --cc=claudio@evidence.eu.com \
    --cc=dmitry.adamushko@gmail.com \
    --cc=harald.gustafsson@ericsson.com \
    --cc=hgu1972@gmail.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=lipari@retis.sssup.it \
    --cc=lucabe72@email.it \
    --cc=nicola.manica@disi.unitn.it \
    --cc=raistlin@linux.it \
    --cc=song.yuan@ericsson.com \
    --cc=tglx@linutronix.de \
    /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