Messages in this thread |  | | | Date | Thu, 21 Dec 2000 21:38:43 +1100 | | From | Andrew Morton <> | | Subject | Re: Linux 2.2.19pre2 |
| |
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/
|  |