RE: [EXTERNAL] Re: [patch rdma-next v5 2/2] RDMA/mana_ib: Handle net event for pointing to the current netdev
From: Long Li
Date: Thu Mar 06 2025 - 15:02:05 EST
> 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