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

From: Davide Libenzi
Date: Wed May 02 2007 - 14:22:22 EST


On Wed, 2 May 2007, Ulrich Drepper wrote:

> On 5/2/07, Davide Libenzi <davidel@xxxxxxxxxxxxxxx> wrote:
> > Is it? Please do tell me more...
>
> Come on, we went through all this. Having to do syscalls for event
> retrieval plus the limited channel available for feedback (the POLL*
> bits) is to limiting. This is where the kevent stuff innovated and
> really fixed the problems. Userlevel ring buffers are more efficient.
>
> Yes, a unifying event look is what is wanted. But it does not have to
> be poll based. Given the right abstraction you can fit in the kevent
> technology or similar things.
>
> And seeing all these requirements of this approach: kevent is also
> much more resource efficient. No "one file desriptor per thread per
> object". These are important factors.

99% of the fds you'll find inside an event loop you care to scale about,
are *already* fd based. The handful of the remaining ones (signals,
timers, AIO signaling, ??) will likely account for a *very limited* number
of fds. On top of that, those fds are very cheap in terms of memory
(they're basically wakeup targets), since the new code shares the inode
for them. So we have a limited number of fds, using a pretty limited
amount of memory each.
And this approach is not bound to a completely new and monolitic interface.
All these things need to basically deliver notifications of completion,
and being able to read results. Things that the existing f_op->poll and
f_op->read are already able to give us. Is that really a strange concept
to base it on? Because, to me, it seems pretty natural.



- Davide


-
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/