Re: [EXTERNAL] Re: [patch rdma-next v5 2/2] RDMA/mana_ib: Handle net event for pointing to the current netdev
From: Leon Romanovsky
Date: Wed Mar 12 2025 - 09:38:20 EST
On Mon, Mar 10, 2025 at 09:46:08PM +0000, Long Li wrote:
> > Subject: RE: [EXTERNAL] Re: [patch rdma-next v5 2/2] RDMA/mana_ib:
> > Handle net event for pointing to the current netdev
> >
> > > Subject: [EXTERNAL] Re: [patch rdma-next v5 2/2] RDMA/mana_ib: Handle
> > > net event for pointing to the current netdev
> > >
> > > On Thu, Mar 06, 2025 at 11:24:39AM -0800, longli@xxxxxxxxxxxxxxxxx
> > wrote:
> > > > + switch (event) {
> > > > + case NETDEV_CHANGEUPPER:
> > > > + ndev = mana_get_primary_netdev(mc, 0, &dev->dev_tracker);
> > > > + /*
> > > > + * RDMA core will setup GID based on updated netdev.
> > > > + * It's not possible to race with the core as rtnl lock is being
> > > > + * held.
> > > > + */
> > > > + ib_device_set_netdev(&dev->ib_dev, ndev, 1);
> > > > +
> > > > + /* mana_get_primary_netdev() returns ndev with refcount
> > held
> > > */
> > > > + netdev_put(ndev, &dev->dev_tracker);
> > >
> > > ? What is the point of a tracker in dev if it never lasts outside this scope?
> > >
> > > ib_device_set_netdev() already has a tracker built into it.
> > >
> > > Jason
> >
> > I was asked to use a tracker for netdev_hold()/netdev_put(). But this code
> > (and the code in mana_ib_probe() of the 1st patch) is simple enough that
> > everything is done in one scope.
> >
> > Jakub, do you think it's okay to use NULL as the tracker in both patches?
> >
> > Long
>
> Hi,
>
> If we don't want to use a tracker, can we take the v4 version of the patch set?
>
> Otherwise, please take v5 (this patch) if a tracker is required.
Let's use v5 version as it is more complete variant, however the series
needs to be rebased as it doesn't apply after Konstantin's changes.
Thanks
>
> Thanks,
> Long