Re: [2.4.17/18pre] VM and swap - it's really unusable

Oliver Neukum (520047054719-0001@t-online.de)
Tue, 15 Jan 2002 09:32:17 +0100


On Tuesday 15 January 2002 08:10, george anzinger wrote:

> Yes, this is classic priority inversion. It is here now, today with
> semaphors which are held by code that blocks. If the code doesn't
> block, why not use a spin lock? If it does, well the problem is here

Because eg. other code that holds the semaphore needs to sleep

> now. I suppose we could set a preempt disable around a semaphore if it
> makes you feel better. It doesn't fix the problem if the task blocks

It would make me feel better, but it would defeat the purpose.
There's a lot of code holding semaphores.

> AND it is legal to block while holding a preemption lock.

But it's easier to fix. If you can preempt only by explicitely
sleeping, you can beat priority invasion by changing basically
only wake_up. If you can be preempted at random, you need to know
who holds a semaphore.

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