Messages in this thread | | | Date | Wed, 29 Apr 2009 08:53:52 -0700 (PDT) | From | Davide Libenzi <> | Subject | Re: [PATCH] poll: Avoid extra wakeups in select/poll |
| |
On Wed, 29 Apr 2009, Eric Dumazet wrote:
> [PATCH] poll: Avoid extra wakeups in select/poll > > After introduction of keyed wakeups Davide Libenzi did on epoll, we > are able to avoid spurious wakeups in poll()/select() code too. > > For example, typical use of poll()/select() is to wait for incoming > network frames on many sockets. But TX completion for UDP/TCP > frames call sock_wfree() which in turn schedules thread. > > When scheduled, thread does a full scan of all polled fds and > can sleep again, because nothing is really available. If number > of fds is large, this cause significant load. > > This patch makes select()/poll() aware of keyed wakeups and > useless wakeups are avoided. This reduces number of context > switches by about 50% on some setups, and work performed > by sofirq handlers.
Looks fine to me Eric ...
Acked-by: Davide Libenzi <davidel@xmailserver.org>
- Davide
| |