public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
From: Luca Abeni <lucabe72@email.it>
To: Raistlin <raistlin@linux.it>
Cc: linux-kernel <linux-kernel@vger.kernel.org>,
	Song Yuan <song.yuan@ericsson.com>,
	Dmitry Adamushko <dmitry.adamushko@gmail.com>,
	Peter Zijlstra <peterz@infradead.org>,
	Thomas Gleixner <tglx@linutronix.de>,
	Nicola Manica <nicola.manica@disi.unitn.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 09:09:21 +0200	[thread overview]
Message-ID: <1278745761.5248.15.camel@localhost> (raw)
In-Reply-To: <1278682707.6083.227.camel@Palantir>

Hi all,

first of all, thanks for including me in these emails, and sorry for the
delay...

On Fri, 2010-07-09 at 15:38 +0200, Raistlin wrote:
> Hi all,
> 
> So, talking to Peter and Thomas at the OSPERT workshop in Brussels [1],
> the so called "sporaidic task model" came out many many times!
I assume here you are simply talking about tasks with relative deadline
different from period, right? (the term "sporadic" is more often
associated with non-periodic activation patterns).

[...]
>  - do you think it could be useful to have a different syscall to deal
>    with the period parameter (if it's different from deadline), e.g.,
>    something useful to make the task periodic as you have (if I remember
>    well) in Xenomai or RTAI?
Maybe I am confused because I missed the initial part of the discussion,
but here I think there is the risk to mix two different concepts: the
"reservation period" (that is, the period P used to postpone the
scheduling deadline when the budget arrives to 0), and the "task
period" (which has to do with the periodicity of tasks activations). For
implementing a periodic behaviour in the task (this is, AFAIK, what RTAI
similar API provide), no new syscall is needed: clock_nanosleep() is
enough. See http://www.disi.unitn.it/~abeni/RTOS/rtapi.pdf for a
(stupid) example.
The reservation period, on the other hand, is a scheduling parameter,
and I think that setting it with extended versions of sched_setparam(),
sched_setscheduler() and similar is ok.


>    If you think it's worth doing that, do you think the
>    task_wait_interval() syscall that we already added could/should do
>    the job?
I do not remember what task_wait_interval() does :)
Is it the syscall you added to indicate the end of a job?


> Basically, from the scheduling point of view, what it could happen is
> that I'm still _NOT_ going to allow a task with runtime Q_i, deadline
> D_i and period P_i to use more bandwidth than Q_i/P_i, I'm still using D
> for scheduling but the passing of the simple in-kernel admission test
> Sum_i(Q_i/P_i)<1 won't guarantee that the task will always finish its
> jobs before D.
I think if you want a different P_i and D_i you can use D_i for
generating new scheduling deadlines on task arrivals as "d = t + D_i",
and P_i to postpone the scheduling deadlines as "d = d + T_i" when the
budget is 0.
Depending on the replenishment amount you use, you might need to modify
the admission test as "Sum_i(Q_i/min{P_i,D_i}) < 1" or not (if you
always replenish to Q_i, then you need a modified admission test;
otherwise, you can compute the replenishment amount so that the
admission test is unaffected).


			Thanks,
				Luca


  parent reply	other threads:[~2010-07-10  7:16 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
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 [this message]
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=1278745761.5248.15.camel@localhost \
    --to=lucabe72@email.it \
    --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=linux-kernel@vger.kernel.org \
    --cc=lipari@retis.sssup.it \
    --cc=nicola.manica@disi.unitn.it \
    --cc=peterz@infradead.org \
    --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