Re: [PATCH net-next v3 1/2] net/smc: make wr buffer count configurable

Halil Pasic
2025-09-25T11:25:52Z

On Thu, 25 Sep 2025 11:27:38 +0200
Paolo Abeni <pabeni@redhat.com> wrote:
[..]
> > +smcr_max_recv_wr - INTEGER
> > + So called work request buffers are SMCR link (and RDMA queue pair) level
> > + resources necessary for performing RDMA operations. Since up to 255
> > + connections can share a link group and thus also a link and the number
> > + of the work request buffers is decided when the link is allocated,
> > + depending on the workload it can a bottleneck in a sense that threads
>
> same here^^

Sorry about those! Will fix for v4.

>
> [...]
> > @@ -683,6 +678,8 @@ int smc_ib_create_queue_pair(struct smc_link *lnk)
> > };
> > int rc;
> >
> > + qp_attr.cap.max_send_wr = 3 * lnk->lgr->max_send_wr;
> > + qp_attr.cap.max_recv_wr = lnk->lgr->max_recv_wr;
>
> Possibly:
>
> cap = max(3 * lnk->lgr->max_send_wr, lnk->lgr->max_recv_wr);
> qp_attr.cap.max_send_wr = cap;
> qp_attr.cap.max_recv_wr = cap
>
> to avoid assumption on `max_send_wr`, `max_recv_wr` relative values.

Can you explain a little more. I'm happy to do the change, but I would
prefer to understand why is keeping qp_attr.cap.max_send_wr ==
qp_attr.cap.max_recv_wr better? But if you tell: "Just trust me!" I will.

[..]

> >
> > diff --git a/net/smc/smc_wr.c b/net/smc/smc_wr.c
> > index b04a21b8c511..f5b2772414fd 100644
> > --- a/net/smc/smc_wr.c
> > +++ b/net/smc/smc_wr.c
> > @@ -34,6 +34,7 @@
> > #define SMC_WR_MAX_POLL_CQE 10 /* max. # of compl. queue elements in 1 poll */
> >
> > #define SMC_WR_RX_HASH_BITS 4
> > +
>
> Please avoid unrelated whitespace only changes.

Will fix for v4. Really sorry!

Regards,
Halil