[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID:
<SA6PR21MB4231E9B17697BFE4857A7E55CECA2@SA6PR21MB4231.namprd21.prod.outlook.com>
Date: Thu, 6 Mar 2025 20:01:45 +0000
From: Long Li <longli@...rosoft.com>
To: Jason Gunthorpe <jgg@...pe.ca>, "longli@...uxonhyperv.com"
<longli@...uxonhyperv.com>
CC: Leon Romanovsky <leon@...nel.org>, Konstantin Taranov
<kotaranov@...rosoft.com>, "David S. Miller" <davem@...emloft.net>, Eric
Dumazet <edumazet@...gle.com>, Jakub Kicinski <kuba@...nel.org>, Paolo Abeni
<pabeni@...hat.com>, "linux-rdma@...r.kernel.org"
<linux-rdma@...r.kernel.org>, "netdev@...r.kernel.org"
<netdev@...r.kernel.org>, "linux-kernel@...r.kernel.org"
<linux-kernel@...r.kernel.org>, "linux-hyperv@...r.kernel.org"
<linux-hyperv@...r.kernel.org>
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@...uxonhyperv.com 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
Powered by blists - more mailing lists