On Sat, 15 Jan 2011, Shawn Bohrer wrote: > The additional test for ep->ovflist != EP_UNACTIVE_PTR to signify > available events was added in 5071f97ec6d74f006072de0ce89b67c8792fe5a1 > but doesn't appear to do anything. Either this is a bug or the check > isn't needed. > > If the ep->ovflist is not EP_UNACTIVE_PTR then ep_send_events() calls > ep_scan_ready_list() which sets ep->ovflist = NULL thus loosing any > events which may have been stored there. > > Signed-off-by: Shawn Bohrer <shawn.bohrer@xxxxxxxxx> NACK. Not only NACK, but hell NACK. The epoll_wait() might hit right after the delivery of the current events ended in/right-after: error = (*sproc)(ep, &txlist, priv); So, if there are overflowed events, a following ep_send_events() can go fetch them, because ep_scan_ready_list() will go drop them back in the ready list (right after the line above). Events in the overflow list are no different from the ones in the ready list, and removing such test will make you, either return with no events when they are really there, or take another unnecessary spin lock/unlock trip. On the contrary, a missed optimization is applying the same rule even above, instead of the bare list_empty(). Will send a patch to Andrew. And no, it is not a bug, because ep_scan_ready_list() is protected by a mutex. - Davide -- To unsubscribe from this list: send the line "unsubscribe linux-fsdevel" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html