Subject: Re: [PATCH net-next] devlink: Require devlink lock during device reload

From: Jason Gunthorpe <[email-masked]>
Date: Tue, 16 Nov 2021 08:44:42 -0400

On Tue, Nov 16, 2021 at 07:57:09AM +0100, Jiri Pirko wrote:

> >There is only one place in the entire kernel calling the per-ns
> >register_netdevice_notifier_dev_net() and it is burred inside another
> >part of mlx5 for some reason..
> 
> Yep. I added it there to solve this deadlock.

I wonder how it can work safely inside a driver, since when are
drivers NS aware?

        uplink_priv->bond->nb.notifier_call = mlx5e_rep_esw_bond_netevent;
        ret = register_netdevice_notifier_dev_net(netdev,
                                                  &uplink_priv->bond->nb,
                                                  &uplink_priv->bond->nn);

Doesn't that just loose events when the user moves netdev to another
namespace?

> >I believe Parav already looked at using that in rdma and it didn't
> >work for some reason I've forgotten. 
> >
> >It is not that we care about events in different namespaces, it is
> >that rdma, like everything else, doesn't care about namespaces and
> >wants events from the netdev no matter where it is located.
> 
> Wait, so there is no notion of netnamespaces in rdma? I was under
> impression rdma supports netnamespaces...

It does, but that doesn't change things, when it is attached to a
netdev it needs events, without any loss, no matter what NS that
netdev is in.

Jason