Martin Sustrik [off-list ref] wrote:
On 09/02/13 04:54, Eric Wong wrote:
quoted
quoted
quoted
Using one eventfd per userspace socket still seems a bit wasteful.
Wasteful in what sense? Occupying a slot in file descriptor table?
That's the price for having the socket uniquely identified by the
fd.
Yes. I realize eventfd is small, but I don't think eventfd is needed
at all, here. Just one pipe.
Ah. Got you! You mean not to change the kernel, just use pipe for
the purpose.
However, the convoluted pipe-style design is the problem I am trying
to solve rather than the solution. It leads to convoluted APIs with
convoluted semantics as described in the article. I've been using
that kind of design for past 8 years and every time I have to deal
with it I swear that one day I will implement a proper in-kernel
solution to get rid of the hack.
And now I have finally done so.
Yes, your eventfd change is probably the best way if you want/need
to only watch a subset of your sockets, especially if you want
poll/select to be an option.