diff options
author | 2013-12-10 12:02:03 +0100 | |
---|---|---|
committer | 2014-01-06 15:52:30 -0800 | |
commit | 11d6c461b32a3fb7e89f91ef7fa54c5446335a9c (patch) | |
tree | ec54a0d617eaa9f1bdc81acb7349b4999b43bd5a /net/openvswitch/flow_netlink.c | |
parent | openvswitch: Per cpu flow stats. (diff) | |
download | linux-11d6c461b32a3fb7e89f91ef7fa54c5446335a9c.tar.gz linux-11d6c461b32a3fb7e89f91ef7fa54c5446335a9c.tar.bz2 linux-11d6c461b32a3fb7e89f91ef7fa54c5446335a9c.zip |
net: ovs: use kfree_rcu instead of rcu_free_{sw_flow_mask_cb,acts_callback}
As we're only doing a kfree() anyway in the RCU callback, we can
simply use kfree_rcu, which does the same job, and remove the
function rcu_free_sw_flow_mask_cb() and rcu_free_acts_callback().
Signed-off-by: Daniel Borkmann <dborkman@redhat.com>
Signed-off-by: Jesse Gross <jesse@nicira.com>
Diffstat (limited to 'net/openvswitch/flow_netlink.c')
-rw-r--r-- | net/openvswitch/flow_netlink.c | 10 |
1 files changed, 1 insertions, 9 deletions
diff --git a/net/openvswitch/flow_netlink.c b/net/openvswitch/flow_netlink.c index 3ccb92f48502..4d000acaed0d 100644 --- a/net/openvswitch/flow_netlink.c +++ b/net/openvswitch/flow_netlink.c @@ -1176,19 +1176,11 @@ struct sw_flow_actions *ovs_nla_alloc_flow_actions(int size) return sfa; } -/* RCU callback used by ovs_nla_free_flow_actions. */ -static void rcu_free_acts_callback(struct rcu_head *rcu) -{ - struct sw_flow_actions *sf_acts = container_of(rcu, - struct sw_flow_actions, rcu); - kfree(sf_acts); -} - /* Schedules 'sf_acts' to be freed after the next RCU grace period. * The caller must hold rcu_read_lock for this to be sensible. */ void ovs_nla_free_flow_actions(struct sw_flow_actions *sf_acts) { - call_rcu(&sf_acts->rcu, rcu_free_acts_callback); + kfree_rcu(sf_acts, rcu); } static struct nlattr *reserve_sfa_size(struct sw_flow_actions **sfa, |