]> www.infradead.org Git - users/jedix/linux-maple.git/commit
io_uring/zcrx: throttle receive requests
authorPavel Begunkov <asml.silence@gmail.com>
Sat, 15 Feb 2025 00:09:43 +0000 (16:09 -0800)
committerJens Axboe <axboe@kernel.dk>
Mon, 17 Feb 2025 12:41:09 +0000 (05:41 -0700)
commit931dfae19032d13266cf1fac080cec66469a2042
tree5c855f32a102bb1718dd2c07737385f0d8226af0
parente0793de24a9f610bd8ce106f7033b3966e7fca0e
io_uring/zcrx: throttle receive requests

io_zc_rx_tcp_recvmsg() continues until it fails or there is nothing to
receive. If the other side sends fast enough, we might get stuck in
io_zc_rx_tcp_recvmsg() producing more and more CQEs but not letting the
user to handle them leading to unbound latencies.

Break out of it based on an arbitrarily chosen limit, the upper layer
will either return to userspace or requeue the request.

Reviewed-by: Jens Axboe <axboe@kernel.dk>
Signed-off-by: Pavel Begunkov <asml.silence@gmail.com>
Signed-off-by: David Wei <dw@davidwei.uk>
Acked-by: Jakub Kicinski <kuba@kernel.org>
Link: https://lore.kernel.org/r/20250215000947.789731-9-dw@davidwei.uk
Signed-off-by: Jens Axboe <axboe@kernel.dk>
io_uring/net.c
io_uring/zcrx.c