]> git.baikalelectronics.ru Git - kernel.git/commit
io_uring: ignore POLLIN for recvmsg on MSG_ERRQUEUE
authorLuke Hsiao <lukehsiao@google.com>
Sat, 22 Aug 2020 04:41:05 +0000 (21:41 -0700)
committerDavid S. Miller <davem@davemloft.net>
Mon, 24 Aug 2020 23:16:06 +0000 (16:16 -0700)
commit9bf1c2279dc0870db517c7447fdd117037dc3eb9
treef9e5675fe92fc9074cad0ff0bbe763ed9ba7c7de
parent278da1403667739d94d9a711611bcba1e7ae50cf
io_uring: ignore POLLIN for recvmsg on MSG_ERRQUEUE

Currently, io_uring's recvmsg subscribes to both POLLERR and POLLIN. In
the context of TCP tx zero-copy, this is inefficient since we are only
reading the error queue and not using recvmsg to read POLLIN responses.

This patch was tested by using a simple sending program to call recvmsg
using io_uring with MSG_ERRQUEUE set and verifying with printks that the
POLLIN is correctly unset when the msg flags are MSG_ERRQUEUE.

Signed-off-by: Arjun Roy <arjunroy@google.com>
Signed-off-by: Soheil Hassas Yeganeh <soheil@google.com>
Acked-by: Eric Dumazet <edumazet@google.com>
Reviewed-by: Jens Axboe <axboe@kernel.dk>
Signed-off-by: Luke Hsiao <lukehsiao@google.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
fs/io_uring.c