[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20070607013128.GW11166@waste.org>
Date: Wed, 6 Jun 2007 20:31:28 -0500
From: Matt Mackall <mpm@...enic.com>
To: Andrew Morton <akpm@...ux-foundation.org>
Cc: markh@...pro.net, linux-kernel@...r.kernel.org,
Oleg Nesterov <oleg@...sign.ru>,
Mark Hounschell <dmarkh@....rr.com>,
Ingo Molnar <mingo@...e.hu>
Subject: Re: floppy.c soft lockup
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@...pro.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.
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists