Re: Linux 2.2.19pre2

From: Andrew Morton (andrewm@uow.edu.au)
Date: Thu Dec 21 2000 - 05:38:43 EST


Andrea Arcangeli wrote:
>
> The fact you could mix non-exclusive and exlusive wakeups in the same waitqueue
> was a feature not a misfeature. Then of course you cannot register in two
> waitqueues one with wake-one and one with wake-all but who does that anyways?
> Definitely not an issue for 2.2.x.

Definitely? Let's think about that.

> I think the real reason for spearating the two things as davem proposed is
> because otherwise we cannot register for a LIFO wake-one in O(1) as we needed
> for accept.

Yes. In other words, if we try to do O(1) LIFO, we can cause lost wakeups.

> Other thing about your patch, adding TASK_EXCLUSIVE to
> wake_up/wake_up_interruptible is useless.

This enables wake_up_all().

Anyway, this is all just noise.

The key question is: which of the following do we want?

a) A simple, specific accept()-accelerator, and 2.2 remains without
   an exclusive wq API or

b) A general purpose exclusive wq mechanism which does not correctly
   support waiting on two queues simultaneuously where one is
   exclusive or

c) A general purpose exclusive wq mechanism which _does_ support it.

Each choice has merit! You seem to want b). davem wants c).

And given that 2.2 has maybe 2-4 years life left in it, I'd
agree with David. Let's do it once and do it right while the issue
is fresh in our minds.

Yes?

-
-
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 Dec 23 2000 - 21:00:28 EST