Re: floppy.c soft lockup

Matt Mackall
2007-06-07T01:32:48Z

On Wed, Jun 06, 2007 at 10:28:28AM -0700, Andrew Morton wrote:
> On Wed, 06 Jun 2007 09:12:04 -0400 Mark Hounschell <markh@compro.net> wrote:
>
> > >
> > > As far as a 100% CPU bound task being a valid thing to do, it has been
> > > done for many years on SMP machines. Any kernel limitation on this
> > > surely must be considered a bug?
> > >
> >
> > Could someone authoritatively comment on this? Is a SCHED_RR/SCHED_FIFO
> > 100% Cpu bound process supported in an SMP env on Linux? (vanilla or -rt)
>
> It will kill the kernel, sorry.
>
> The only way in which we can fix that is to allow kernel threads to preempt
> rt-priority userspace threads. But if we were to do that (to benefit the
> few) it would cause _all_ people's rt-prio processes to experience glitches
> due to kernel activity, which we believe to be worse.
>
> So we're between a rock and a hard place here.
>
> If we really did want to solve this then I guess the kernel would need some
> new code to detect a 100%-busy rt-prio process and to then start premitting
> preemption of it for kernel thread activity. That detector would need to
> be smart enough to detect a number of 100%-busy rt-prio processes which are
> yielding to each other, and one rt-prio process which keeps forking others,
> etc. It might get tricky.

The usual alternative is to manually chrt the relevant kernel threads
to RT priority and adjust the priority scheme of their processes appropriately.

--
Mathematics is the supreme nostalgia of our time.