From: Jiri Pirko <j...@resnulli.us> Date: Wed, 14 Oct 2015 19:40:47 +0200
> This is something which I'm currently struggling with. > Callers of attr_set and obj_add/del often hold not only RTNL, but also > spinlock (bridge). So in that case, the driver implementing the op cannot > sleep. > > The way rocker is dealing with this now is just to invoke driver operation > and go out, without any checking or reporting of the operation status. > > Since it would be nice to at least put a warning in case the operation fails, > it makes sense to do this in delayed work directly in switchdev core > instead of implementing this in separate drivers. And that is what this > patchset > is introducing. > > So from now on, the locking of switchdev mod ops is consistent. Caller either > holds rtnl mutex or in case it does not, caller sets defer flag, telling > switchdev core to process the op later, in deferred queue. > > Function to force to process switchdev deferred ops can be called by op > caller in appropriate location, for example after it releases > spin lock, to force switchdev core to process pending ops. Series applied, thanks Jiri. -- To unsubscribe from this list: send the line "unsubscribe netdev" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html