On Wed, 2013-06-05 at 16:41 +0300, Eliezer Tamir wrote:On 05/06/2013 16:30, Eric Dumazet wrote:
I am a bit uneasy with this one, because an applicatio polling() on one
thousand file descriptors using select()/poll(), will call sk_poll_ll()
one thousand times.
But we call sk_poll_ll() with nonblock set, so it will only test once
for each socket and not loop.
I think this is not as bad as it sounds.
We still honor the time limit on how long to poll.
We still call ndo_ll_poll() a thousand times, and probably do a
spinlock/unlock a thousand times in the driver.
I would definitely be convinced if you give us some performance numbers
of a poll() on a thousand tcp sockets for example.