From: Jason Baron <jba...@akamai.com> Date: Wed, 20 May 2015 15:52:53 +0000 (GMT)
> From: Jason Baron <jba...@akamai.com> > > We currently rely on the setting of SOCK_NOSPACE in the write() > path to ensure that we wake up any epoll edge trigger waiters when > acks return to free space in the write queue. However, if we fail > to allocate even a single skb in the write queue, we could end up > waiting indefinitely. > > Fix this by explicitly issuing a wakeup when we detect the condition > of an empty write queue and a return value of -EAGAIN. This allows > userspace to re-try as we expect this to be a temporary failure. > > I've tested this approach by artificially making > sk_stream_alloc_skb() return NULL periodically. In that case, > epoll edge trigger waiters will hang indefinitely in epoll_wait() > without this patch. > > Signed-off-by: Jason Baron <jba...@akamai.com> > --- > v2: > - ensure it compiles :) Applied, thanks Jason :) -- To unsubscribe from this list: send the line "unsubscribe netdev" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html