Re: [PATCH 6/6] sched: disabled rt-bandwidth by default

Peter Zijlstra
2008-08-28T16:29:49Z

On Thu, 2008-08-28 at 12:15 -0400, Steven Rostedt wrote:
>
> On Thu, 28 Aug 2008, Peter Zijlstra wrote:
>
> > On Thu, 2008-08-28 at 10:15 -0400, Steven Rostedt wrote:
> >
> > > My biggest concern about adding a limit to FIFO is that an RT developer
> > > would spend weeks trying to debug their system wondering why their
> > > planned CPU RT hog, is being preempted by a non-RT task.
> > >
> > > For this, if this time limit does kick in, we should at the very least
> > > print something out to let the user know this happened. After all, this
> > > is more of a safety net anyway, and if we are hitting the limit, the
> > > user should be notified. Perhaps even tell the user that if this
> > > behaviour is expected, to up the sysctl by more.
> >
> > Should be easy enough to do -
> >
> > > Peter, another question. Is this limit for a single RT task running, or
> > > all RT tasks. I'm assuming here that it is a single RT task. If you have
> > > 20 RT tasks all running, would this let non RT tasks in? In that case,
> > > this could be even a bigger issues.
> >
> > No its not per task. Its per group (and trivially the !group case is one
> > group).
>
> Does this mean, if I have 100 RT tasks, that will together run for 10secs
> secs, they will only run for 9.5secs?
>
> This looks like an even bigger issue. Now we don't have one RT FIFO CPU
> hog, we are now hitting 100 RT FIFO tasks that try to get a bunch done in
> 10 secs.

Yes.

But say you were doing rate monotonic scheduling (as is not uncommonly
done on top of SCHED_FIFO) then you could not get 100% cpu utilisation
anyway, as RMS has a ~69% utility bound.