Hi, Just like we did for recv/recvmsg, allow MSG_WAITALL to mean that we want to wait for all the requested data instead of doing a partial completion. Patch 2 ensures that we can sanely use apoll multiple times, as long as we're making progress on the IO. This is important to avoid punting to io-wq if we can avoid it. The gate on already having polled is lifted if we did transfer some data, which should avoid the initial worry of why that place was in check - repeatedly non-block retrying and getting -EAGAIN. -- Jens Axboe