[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <714a7ee54ec045b7abfca411f613d4e77410c85b.camel@oracle.com>
Date: Fri, 9 Jan 2026 16:56:03 +0000
From: Allison Henderson <allison.henderson@...cle.com>
To: "kuba@...nel.org" <kuba@...nel.org>,
"achender@...nel.org"
<achender@...nel.org>
CC: "rds-devel@....oracle.com" <rds-devel@....oracle.com>,
"horms@...nel.org"
<horms@...nel.org>,
"edumazet@...gle.com" <edumazet@...gle.com>,
"netdev@...r.kernel.org" <netdev@...r.kernel.org>,
"linux-rdma@...r.kernel.org" <linux-rdma@...r.kernel.org>,
"pabeni@...hat.com" <pabeni@...hat.com>
Subject: Re: [net-next,v4,1/2] net/rds: Add per cp work queue
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 <allison.henderson@...cle.com>
>
> 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.
>
> > 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?
Powered by blists - more mailing lists