Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit f337b9c5 authored by Davide Libenzi's avatar Davide Libenzi Committed by Linus Torvalds
Browse files

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: default avatarDavide Libenzi <davidel@xmailserver.org>
Cc: Thomas Gleixner <tglx@linutronix.de>
Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
parent 8b6e47ad
Loading
Loading
Loading
Loading
+3 −6
Original line number Diff line number Diff line
@@ -927,14 +927,11 @@ errxit:
	/*
	 * 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))
	     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