Re: [patch 14/22] pollfs: pollable futex

From: Ulrich Drepper
Date: Wed May 02 2007 - 04:08:51 EST


On 5/2/07, Eric Dumazet <dada1@xxxxxxxxxxxxx> wrote:
Well, poll() level edge semantic is well defined, you cannot cheat or change it.

If many threads call poll() on the same end point, they should *all* return POLLIN/whatever status.

This means to me it's the wrong abstraction for this. We had a nice
solution for this with Evgeniy's kevent interfaces. It worked without
forcing futexes is this inflexible poll() interface.



This is why programs usually use one thread to dispatch events to workers, or at least dont queue XXXX threads calling poll() on one fd.

No. This is why programs are forced to waste cycles by doing this.
Ideally this would not happen. Ideally you'd park all worker thread
in the same place and have them woken up one by one. Again, Evgeniy's
code was able to do this. This approach seems to be a big step
backward.
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/