• V
    net: sched: don't disable bh when accessing action idr · 290aa0ad
    Vlad Buslov 提交于
    Initial net_device implementation used ingress_lock spinlock to synchronize
    ingress path of device. This lock was used in both process and bh context.
    In some code paths action map lock was obtained while holding ingress_lock.
    Commit e1e992e5 ("[NET_SCHED] protect action config/dump from irqs")
    modified actions to always disable bh, while using action map lock, in
    order to prevent deadlock on ingress_lock in softirq. This lock was removed
    from net_device, so disabling bh, while accessing action map, is no longer
    necessary.
    
    Replace all action idr spinlock usage with regular calls that do not
    disable bh.
    Signed-off-by: NVlad Buslov <vladbu@mellanox.com>
    Acked-by: NJamal Hadi Salim <jhs@mojatatu.com>
    Signed-off-by: NDavid S. Miller <davem@davemloft.net>
    290aa0ad
act_api.c 35.7 KB