From: Leon Romanovsky <leonro@nvidia.com>
To: Mark Zhang <markzhang@nvidia.com>
Cc: <jgg@nvidia.com>, <dledford@redhat.com>,
<jiapeng.chong@linux.alibaba.com>, <cgel.zte@gmail.com>,
<linux-rdma@vger.kernel.org>
Subject: Re: [PATCH rdma-next 2/3] IB/cm: remove cm_id_priv->id.service_mask and service_mask parameter of cm_init_listen()
Date: Sun, 21 Aug 2022 17:14:47 +0300 [thread overview]
Message-ID: <YwI913+HsmU8YVf2@unreal> (raw)
In-Reply-To: <472c4a14-e6fd-fe1d-51c0-31b8db8debc6@nvidia.com>
On Sun, Aug 21, 2022 at 10:08:54PM +0800, Mark Zhang wrote:
> On 8/21/2022 9:47 PM, Leon Romanovsky wrote:
> > On Sun, Aug 21, 2022 at 08:50:08PM +0800, Mark Zhang wrote:
> > > On 8/21/2022 7:34 PM, Leon Romanovsky wrote:
> > > > On Fri, Aug 19, 2022 at 12:08:58PM +0300, Mark Zhang wrote:
> > > > > The service_mask is always ~cpu_to_be64(0), so the result is always
> > > > > a NOP when it is &'d with a service_id. Remove it for simplicity.
> > > > >
> > > > > Signed-off-by: Mark Zhang <markzhang@nvidia.com>
> > > > > ---
> > > > > drivers/infiniband/core/cm.c | 28 ++++++++--------------------
> > > > > include/rdma/ib_cm.h | 1 -
> > > > > 2 files changed, 8 insertions(+), 21 deletions(-)
> >
> > <...>
> >
> > > > > - if (service_id == IB_CM_ASSIGN_SERVICE_ID) {
> > > > > + if (service_id == IB_CM_ASSIGN_SERVICE_ID)
> > > > > cm_id_priv->id.service_id = cpu_to_be64(cm.listen_service_id++);
> > > > > - cm_id_priv->id.service_mask = ~cpu_to_be64(0);
> > > > > - } else {
> > > > > + else
> > > > > cm_id_priv->id.service_id = service_id;
> > > > > - cm_id_priv->id.service_mask = service_mask;
> > > > > - }
> > > >
> > > > If service_id != IB_CM_ASSIGN_SERVICE_ID, we had zero as service_mask
> > > > and not FFF... like you wrote. It puts in question all
> > > > cm_id_priv->id.service_mask & service_id => service_id conversions in
> > > > this patch.
> > >
> > > The id.service_mask field is removed in this patch, check the change in
> > > include/rdma/ib_cm.h
> >
> > Right, you removed service_mask and described it "is always ~cpu_to_be64(0)".
> > As far as I can tell, this is not true and in this "if (service_id == IB_CM_ASSIGN_SERVICE_ID)"
> > sometimes we set cm_id_priv->id.service_mask to be 0 and sometimes 0xFF....
> >
> > Why is it correct to remove cm_id_priv->id.service_mask in this hunk?
>
> 1. service_id == IB_CM_ASSIGN_SERVICE_ID:
> cm_id_priv->id.service_mask = ~cpu_to_be64(0);
>
> 2. service_id != IB_CM_ASSIGN_SERVICE_ID:
> cm_id_priv->id.service_mask = service_mask;
> It's also ~cpu_to_be64(0), because cm_init_listen() is always called
> with service_mask = 0:
> ib_cm_listen(..., 0) -> cm_init_listen(..., 0)
> ib_cm_insert_listen() -> cm_init_listen(..., 0)
>
> So it's always ~cpu_to_be64(0)..
I see it now, thanks.
>
> Thanks
>
>
>
>
>
next prev parent reply other threads:[~2022-08-21 14:14 UTC|newest]
Thread overview: 10+ messages / expand[flat|nested] mbox.gz Atom feed top
2022-08-19 9:08 [PATCH rdma-next 0/3] IB/cm refactors Mark Zhang
2022-08-19 9:08 ` [PATCH rdma-next 1/3] IB/cm: Remove the service_mask parameter from ib_cm_listen() Mark Zhang
2022-08-19 9:08 ` [PATCH rdma-next 2/3] IB/cm: remove cm_id_priv->id.service_mask and service_mask parameter of cm_init_listen() Mark Zhang
2022-08-21 11:34 ` Leon Romanovsky
2022-08-21 12:50 ` Mark Zhang
2022-08-21 13:47 ` Leon Romanovsky
2022-08-21 14:08 ` Mark Zhang
2022-08-21 14:14 ` Leon Romanovsky [this message]
2022-08-19 9:08 ` [PATCH rdma-next 3/3] IB/cm: Refactor cm_insert_listen() and cm_find_listen() Mark Zhang
2022-08-29 8:21 ` [PATCH rdma-next 0/3] IB/cm refactors Leon Romanovsky
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=YwI913+HsmU8YVf2@unreal \
--to=leonro@nvidia.com \
--cc=cgel.zte@gmail.com \
--cc=dledford@redhat.com \
--cc=jgg@nvidia.com \
--cc=jiapeng.chong@linux.alibaba.com \
--cc=linux-rdma@vger.kernel.org \
--cc=markzhang@nvidia.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox