net: sched: introduce reference counting for tcf_proto
authorVlad Buslov <vladbu@mellanox.com>
Mon, 11 Feb 2019 08:55:39 +0000 (10:55 +0200)
committerDavid S. Miller <davem@davemloft.net>
Tue, 12 Feb 2019 18:41:32 +0000 (13:41 -0500)
commit4dbfa766440c6dfe3d10f077cde966a7d11b58f1
treedb3a6c5e2450ef0eae61879159ff64678b65fac7
parented76f5edccc98fa66f2337f0b3b255d6e1a568b7
net: sched: introduce reference counting for tcf_proto

In order to remove dependency on rtnl lock and allow concurrent tcf_proto
modification, extend tcf_proto with reference counter. Implement helper
get/put functions for tcf proto and use them to modify cls API to always
take reference to tcf_proto while using it. Only release reference to
parent chain after releasing last reference to tp.

Signed-off-by: Vlad Buslov <vladbu@mellanox.com>
Acked-by: Jiri Pirko <jiri@mellanox.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
include/net/sch_generic.h
net/sched/cls_api.c