Re: [net-next,v4,1/2] net/rds: Add per cp work queue
From: Jakub Kicinski <kuba@kernel.org>
Date: 2026-01-09 02:51:52
Also in:
linux-rdma
This is an automated AI-generated review of your patch. For local reproduction steps see https://netdev-ai.bots.linux.dev/ai-local.html --- 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 hunk ↗ jump to hunk
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?