Re: [PATCH] io_uring/zcrx: requeue multishot receives stopped by a local resource

From: Jens Axboe

Date: Mon Sep 28 2026 - 10:32:07 EST



On Wed, 23 Sep 2026 09:20:44 +0000, Junyuan Feng wrote:
> A multishot RECV_ZC can go idle with unread TCP data when a receiver-local
> resource runs out. An empty copy-fallback niov freelist returns -ENOMEM;
> a full CQ returns -ENOSPC. After partial progress the stop reason is
> lost: io_zcrx_copy_chunk() and io_zcrx_recv_skb() report the copied
> bytes, and tcp_read_sock() drops an error from a later call once earlier
> data was consumed. The edge-triggered request is then not requeued, so
> it cannot consume the remaining data until another socket event arrives.
>
> [...]

Applied, thanks!

[1/1] io_uring/zcrx: requeue multishot receives stopped by a local resource
commit: 98ad5b63f5041dc354a6e694f4a9436f74e0681b

Best regards,
--
Jens Axboe