Re: [PATCH 5/6] sched: SCHED_FIFO/SCHED_RR watchdog timer

Andi Kleen
2007-11-03T18:16:55Z

On Wed, Oct 31, 2007 at 11:03:28PM +0100, Peter Zijlstra wrote:
>
> On Wed, 2007-10-31 at 22:49 +0100, Andi Kleen wrote:
> > Peter Zijlstra <a.p.zijlstra@chello.nl> writes:
> >
> > > Introduce a new rlimit that allows the user to set a runtime timeout
> > > on real-time tasks. Once this limit is exceeded the task will receive
> > > SIGXCPU.
> >
> > Nice idea.
> >
> > It would be even nicer if you could allow a couple of them. Partition
> > the RT priorities into a few classes and have an own limit for each them.
> >
> > A small number of classes (3-4) would be probably enough and not bloat
> > the rlimits too much.
> >
> > I'm thinking of the case where you have different kinds of real
> > time processes. Like your mp3 player which you want to be slightly
> > real time, but with a low SIGXCPU limit.
> >
> > And then something else real time which is more important and
> > you would set a higher limit. etc.
>
> But its an rlimit, it can be set per process. Not sure what multiple

That's impractical -- you would need to patch the process or call
it from a special program, which is not nice.

rlimits are useful to set a limit during log in. For that the
children can be all kinds of different processes and possibly use
different settings.

> classes per process would gain us, let alone how that process has to
> figure out which class to use.

You set the classes once per rlimit (e.g. in a pam module)
Then the processes set different scheduling priorities by themselves
(standard programs do that). Then that priority would map to a different
class.

-Andi