> > >
> > > What is the register lock protecting against, exactly?
> > 
> > A lot of the register operations work by:
> > 
> >  * Select port, priority, vlan or counter
> >  * Configure it
> > 
> > These sequences have to be atomic. That's what I wanted to ensure.
> > 
> 
> So, let me rephrase. Is there any code path that is broken, even if only
> theoretically, if you remove the reg_lock?

Maybe, at the moment, RTNL is keeping things atomic. But that is
because there is no HWMON, or MDIO bus. Those sort of operations don't
take the RTNL, and so would be an issue. I've also never audited the
network stack to check RTNL really is held at all the network stack
entry points to a DSA driver. It would be an interesting excesses to
scatter some ASSERT_RTNL() in a DSA driver and see what happens.

        Andrew

Reply via email to