Messages in this thread | | | Subject | Re: [RFC 0/1][PATCH] POSIX SCHED_SPORADIC implementation for tasks and groups | From | Peter Zijlstra <> | Date | Mon, 11 Aug 2008 16:25:53 +0200 |
| |
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 :-/
| |