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