]> git.baikalelectronics.ru Git - kernel.git/commit
act_ife: only acquire tcf_lock for existing actions
authorWANG Cong <xiyou.wangcong@gmail.com>
Mon, 20 Jun 2016 20:37:18 +0000 (13:37 -0700)
committerDavid S. Miller <davem@davemloft.net>
Thu, 23 Jun 2016 16:02:36 +0000 (12:02 -0400)
commit44a43cb53f7d35171328a0eacca713caf5de6b4c
treea896fa7244de890d1c51ce1d43034e1a1916545a
parent686b229dbbcb5af0d632fbb588163baa11f2bbb9
act_ife: only acquire tcf_lock for existing actions

Alexey reported that we have GFP_KERNEL allocation when
holding the spinlock tcf_lock. Actually we don't have
to take that spinlock for all the cases, especially
for the new one we just create. To modify the existing
actions, we still need this spinlock to make sure
the whole update is atomic.

For net-next, we can get rid of this spinlock because
we already hold the RTNL lock on slow path, and on fast
path we can use RCU to protect the metalist.

Joint work with Jamal.

Reported-by: Alexey Khoroshilov <khoroshilov@ispras.ru>
Cc: Jamal Hadi Salim <jhs@mojatatu.com>
Signed-off-by: Cong Wang <xiyou.wangcong@gmail.com>
Acked-by: Jamal Hadi Salim <jhs@mojatatu.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
include/net/tc_act/tc_ife.h
net/sched/act_ife.c