Re: [PATCH] io_uring/cmd_net: end TX_TIMESTAMP multishot when the CQ is full
From: Jens Axboe
Date: Mon Sep 28 2026 - 10:52:05 EST
On Sun, 27 Sep 2026 15:42:06 +0800, lollipopkit wrote:
> SOCKET_URING_OP_TX_TIMESTAMP arms an EPOLLERR apoll multishot and, on
> each error queue edge, posts one 32 byte aux CQE per timestamp skb. Aux
> CQEs have no overflow backing, so io_uring_cmd_post_mshot_cqe32() fails
> once the CQ ring is full. The loop then stops, splices the unprocessed
> skbs back onto sk_error_queue and returns -EAGAIN.
>
> -EAGAIN is IOU_RETRY, so the request goes idle until the next poll
> event. io_arm_apoll() forces EPOLLET and draining the CQ does not re-run
> the command, so the spliced-back timestamps stay queued until an
> unrelated later timestamp produces a new edge.
>
> [...]
Applied, thanks!
[1/1] io_uring/cmd_net: end TX_TIMESTAMP multishot when the CQ is full
commit: 3a3d93070c5ec8b8049d57025987ba313420bda9
Best regards,
--
Jens Axboe