Messages in this thread Patch in this message | | | Date | Wed, 1 Oct 2008 11:41:58 -0700 (PDT) | From | Davide Libenzi <> | Subject | [patch] epoll drop unnecessary test |
| |
Thomas found that there is an unnecessary (always true) test in ep_send_events(). The callback never inserts into ->rdllink while the send loop is performed, and also does the ~EP_PRIVATE_BITS test. Given we're holding the mutex during this time, the conditions tested inside the loop are always true. This patch drops the test done inside the re-insertion loop.
Signed-off-by: Davide Libenzi <davidel@xmailserver.org>
- Davide
--- fs/eventpoll.c | 9 +++------ 1 file changed, 3 insertions(+), 6 deletions(-)
Index: linux-2.6.mod/fs/eventpoll.c =================================================================== --- linux-2.6.mod.orig/fs/eventpoll.c 2008-10-01 11:25:17.000000000 -0700 +++ linux-2.6.mod/fs/eventpoll.c 2008-10-01 11:26:58.000000000 -0700 @@ -927,14 +927,11 @@ /* * During the time we spent in the loop above, some other events * might have been queued by the poll callback. We re-insert them - * here (in case they are not already queued, or they're one-shot). + * inside the main ready-list here. */ for (nepi = ep->ovflist; (epi = nepi) != NULL; - nepi = epi->next, epi->next = EP_UNACTIVE_PTR) { - if (!ep_is_linked(&epi->rdllink) && - (epi->event.events & ~EP_PRIVATE_BITS)) - list_add_tail(&epi->rdllink, &ep->rdllist); - } + nepi = epi->next, epi->next = EP_UNACTIVE_PTR) + list_add_tail(&epi->rdllink, &ep->rdllist); /* * We need to set back ep->ovflist to EP_UNACTIVE_PTR, so that after * releasing the lock, events will be queued in the normal way inside
| |