Re: Weightless process class

From: Rik van Riel (riel@conectiva.com.br)
Date: Wed Oct 04 2000 - 18:59:27 EST


On Thu, 5 Oct 2000, Matti Aarnio wrote:
> On Wed, Oct 04, 2000 at 06:16:57PM -0300, Rik van Riel wrote:

        [priority inversion]
> > We don't need that.
> >
> > We just need one boolean per thread ... is it holding a kernel
> > lock or not?
>
> The BKL or *any* (kernel) lock ?
>
> For my knowledge there is no limitation on how many
> locks a thread can hold. Having a single bool might
> not be enough. A counter is better ?

On return_to_userspace, you /know/ the thread has
released the kernel locks.

Though this might not work for IPC semaphores...

Then again, if the Montavista people (maybe together with
SGI or IBM folks?) can get a light-weight priority inversion
scheme working, then we'll have everything right ;)

> > If it is, make sure its scheduling latency isn't too high.
>
> e.g. all processes having *any* locks are raised to the highest
> possible class to make sure they are not starved out ?

SCHED_OTHER is enough for most purposes. OTOH, you
could have one SCHED_FIFO process block execution
of a higher priority SCHED_FIFO process that wants
a lock ... priority inversion anyway?

> > If it isn't holding any lock, we can do with it what we want,
> > including completely starving the task for several seconds
> > (or even minutes) if scheduling latency or VM pressure warrants
> > it.
>
> Yes, that is obvious.

*grin*

regards,

Rik

--
"What you're running that piece of shit Gnome?!?!"
       -- Miguel de Icaza, UKUUG 2000

http://www.conectiva.com/ http://www.surriel.com/

- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org Please read the FAQ at http://www.tux.org/lkml/



This archive was generated by hypermail 2b29 : Sat Oct 07 2000 - 21:00:15 EST