Sun, Oct 11, 2015 at 05:21:04PM CEST, j...@resnulli.us wrote: >From: Jiri Pirko <j...@mellanox.com> > >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 delayed work. > >Flush function for 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.
Dave, if you are going to apply "[PATCH net-next v3 0/4] switchdev: push bridge ageing_time attribute down" first, I have to rebase this patchset on top of that. Just say so. Thanks! -- 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