From: Vlad Buslov <vla...@mellanox.com> Date: Fri, 10 Aug 2018 20:51:40 +0300
> The goal of this change is to update specific actions APIs that access > action private state directly, in order to be independent from external > locking. General approach is to re-use existing tcf_lock spinlock (used > by some action implementation to synchronize control path with data > path) to protect action private state from concurrent modification. If > action has rcu-protected pointer, tcf spinlock is used to protect its > update code, instead of relying on rtnl lock. > > Some actions need to determine rtnl mutex status in order to release it. > For example, ife action can load additional kernel modules(meta ops) and > must make sure that no locks are held during module load. In such cases > 'rtnl_held' argument is used to conditionally release rtnl mutex. ... I like these changes, nice work. If there are any bugs or whatever, we can fix them on top. Series applied to net-next, thanks.