All of lore.kernel.org
 help / color / mirror / Atom feed
From: Peter Zijlstra <a.p.zijlstra@chello.nl>
To: Ulrich Drepper <drepper@redhat.com>
Cc: Dario Faggioli <raistlin@linux.it>,
	linux-kernel@vger.kernel.org, Ingo Molnar <mingo@elte.hu>,
	Thomas Gleixner <tglx@linutronix.de>,
	Steven Rostedt <rostedt@goodmis.org>,
	Andrew Morton <akpm@osdl.org>
Subject: Re: [RFC 0/1][PATCH] POSIX SCHED_SPORADIC implementation for tasks and	groups
Date: Mon, 11 Aug 2008 16:25:53 +0200	[thread overview]
Message-ID: <1218464753.10800.92.camel@twins> (raw)
In-Reply-To: <48A0487B.7080600@redhat.com>

On Mon, 2008-08-11 at 07:11 -0700, Ulrich Drepper wrote:
> -----BEGIN PGP SIGNED MESSAGE-----
> Hash: SHA1
> 
> Dario Faggioli wrote:
> > I'm spending some time implementing the POSIX real-time SCHED_SPORADIC
> > scheduling policy on top of the mainline Linux kernel, and here it is
> > the code in its very first version.
> 
> I'm not commenting on the code or usefulness of ht features.  I just
> want to point out a problem.
> 
> The authors of that POSIX extension unfortunately decided to extend the
> sched_param structure.  If you look at the definition of that structure
> Linux uses you'll see that there is no place for this.  I.e., any
> implementation of that feature following the POSIX spec to the letter
> will introduce major headache in the form of binary incompatibility.
> 
> In case the features is useful enough (I actually always thought it
> isn't an have actually proposed to remove it again from POSIX) then I
> would rather prefer to not claim support for this feature in the POSIX
> way.  One could still implement it as described.  But change the
> interface to not require the sched_param change.

Whichever way you turn SCHED_SPORADIC or SCHED_EDF etc.. you'll need
some place to pass along extra data. The single int in sched_param is
not enough for these policies.

My suggestion would be to create struct sched_param2 with plenty of
padding to support future expansion and add
sys_sched_setscheduler2()/sys_sched_getscheduler2() to deal with this
new structure.

I think at least 3 struct timespec fields and a flags field might be
needed for the most exotic deadline parameters:

 - budget
 - deadline
 - period

My own take is that SCHED_SPORADIC is a nice excersice in scheduler
development - but I'm not sure its actually in demand from application
developers (those of you who actually write RT progs, please holler if
you care - I'm interested to hear your stories).

SCHED_EDF is in great demand - and is being worked on - albeit not as
much as I'd like to, due to me being too busy with other stuff atm :-/


  parent reply	other threads:[~2008-08-11 14:26 UTC|newest]

Thread overview: 9+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2008-08-11 13:49 [RFC 0/1][PATCH] POSIX SCHED_SPORADIC implementation for tasks and groups Dario Faggioli
2008-08-11 14:11 ` Ulrich Drepper
2008-08-11 14:25   ` Dario Faggioli
2008-08-11 14:25   ` Peter Zijlstra [this message]
2008-08-11 16:23     ` Dario Faggioli
2008-08-11 16:30       ` Peter Zijlstra
2008-08-11 16:49         ` Dario Faggioli
2008-08-11 17:17         ` Ulrich Drepper
2008-08-17 22:27           ` Dario Faggioli

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=1218464753.10800.92.camel@twins \
    --to=a.p.zijlstra@chello.nl \
    --cc=akpm@osdl.org \
    --cc=drepper@redhat.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=mingo@elte.hu \
    --cc=raistlin@linux.it \
    --cc=rostedt@goodmis.org \
    --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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.