Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 6dc14dc4 authored by Wei Yongjun's avatar Wei Yongjun Committed by David S. Miller
Browse files

openvswitch: Using kfree_rcu() to simplify the code



The callback function of call_rcu() just calls a kfree(), so we
can use kfree_rcu() instead of call_rcu() + callback function.

Signed-off-by: default avatarWei Yongjun <weiyongjun1@huawei.com>
Acked-by: default avatarPravin B Shelar <pshelar@ovn.org>
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parent 06c2351f
Loading
Loading
Loading
Loading
+1 −8
Original line number Diff line number Diff line
@@ -42,19 +42,12 @@ static const struct nla_policy band_policy[OVS_BAND_ATTR_MAX + 1] = {
	[OVS_BAND_ATTR_STATS] = { .len = sizeof(struct ovs_flow_stats) },
};

static void rcu_free_ovs_meter_callback(struct rcu_head *rcu)
{
	struct dp_meter *meter = container_of(rcu, struct dp_meter, rcu);

	kfree(meter);
}

static void ovs_meter_free(struct dp_meter *meter)
{
	if (!meter)
		return;

	call_rcu(&meter->rcu, rcu_free_ovs_meter_callback);
	kfree_rcu(meter, rcu);
}

static struct hlist_head *meter_hash_bucket(const struct datapath *dp,