Re: [net-next,v4,1/2] net/rds: Add per cp work queue
From: Allison Henderson <hidden>
Date: 2026-01-09 16:56:15
Also in:
linux-rdma
On Thu, 2026-01-08 at 18:51 -0800, Jakub Kicinski wrote:
This is an automated AI-generated review of your patch. For local reproduction steps see https://urldefense.com/v3/__https://netdev-ai.bots.linux.dev/ai-local.html__;!!ACWV5N9M2RV99hQ!Jb4IwiQLlwSJFlqvRCi7Y54pEISEQKXyPiBtYXeM74mbOhBIwKUuPgo6RDWff-8JqJFtVL9t7X_PJiy6vw$
Hi Jakub, Yes, I saw the AI response on patchwork yesterday and am working on an update already. Thanks for the reproducer link, I'll see if I can work out any more AI gripes. Thank you! Allison
--- commit 0d0b74852d11c82ac7d91c72b33c5dccb75934c5 Author: Allison Henderson [off-list ref] net/rds: Add per cp work queue This patch adds cp_wq to struct rds_conn_path and substitutes rds_wq with cp->cp_wq throughout the RDS codebase to enable per-connection workqueue management.quoted
diff --git a/net/rds/ib_send.c b/net/rds/ib_send.c index 4190b90ff3b1..e35bbb6ffb68 100644 --- a/net/rds/ib_send.c +++ b/net/rds/ib_send.c@@ -419,7 +419,7 @@ void rds_ib_send_add_credits(struct rds_connection *conn, unsigned int credits) atomic_add(IB_SET_SEND_CREDITS(credits), &ic->i_credits); if (test_and_clear_bit(RDS_LL_SEND_FULL, &conn->c_flags)) - queue_delayed_work(rds_wq, &conn->c_send_w, 0); + queue_delayed_work(conn->c_path->cp_wq, &conn->c_send_w, 0); WARN_ON(IB_GET_SEND_CREDITS(credits) >= 16384);This substitution in rds_ib_send_add_credits() looks correct, but was the similar call site in rds_ib_send_cqe_handler() in the same file intentionally left unchanged? That function still uses: queue_delayed_work(rds_wq, &conn->c_send_w, 0); Both functions have access to conn->c_path->cp_wq, so the inconsistency seems unintentional. If some call sites should remain on the global rds_wq while others use the per-connection workqueue, it would help to understand the reasoning. Similarly, rds_cong_queue_updates() in net/rds/cong.c still uses: queue_delayed_work(rds_wq, &cp->cp_send_w, 0); even though it already has cp available. Should this also be updated to use cp->cp_wq for consistency with the other substitutions?