]> 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)
commit8462693b68e12e9f90443c6b0194531a74e90a6f
treea896fa7244de890d1c51ce1d43034e1a1916545a
parent080f262b75e5972ca0ebeb645d18a2b4b591c5cd
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