Subject: Re: [PATCH net-next v2 7/8] docs: netdev: break down the instance locking info per ops struct

From: Jakub Kicinski <[email-masked]>
Date: Thu, 10 Apr 2025 09:08:02 -0700

On Wed, 9 Apr 2025 23:01:18 -0700 Jacob Keller wrote:
> > +All queue management callbacks are invoked while holding the netdev instance
> > +lock. ``rtnl_lock`` may or may not be held.
> > +
> > +Note that supporting struct netdev_queue_mgmt_ops automatically enables
> > +"ops locking".
> > +  
> 
> Does this mean we don't allow drivers which support
> netdev_queue_mgmt_ops but don't set request_ops_lock? Or does it mean
> that supporting netdev_queue_mgmt_ops and/or netdev shapers
> automatically implies request_ops_lock? Or is there some other
> behavioral difference?
> 
> From the wording this sounds like its enforced via code, and it seems
> reasonable to me that we wouldn't allow these without setting
> request_ops_lock to true...

"request" is for drivers to optionally request.
If the driver supports queue or shaper APIs it doesn't have a say.