diff options
author | Julia Lawall <Julia.Lawall@inria.fr> | 2024-10-13 22:16:51 +0200 |
---|---|---|
committer | Jakub Kicinski <kuba@kernel.org> | 2024-10-15 10:50:21 -0700 |
commit | 85e48bcf294caf2915c16d89dbfbf936653415a3 (patch) | |
tree | eaef1af886eabd16b5cd934b36dd5c639687a4b9 /net/ipv6 | |
parent | bb5810d4236be8750505ffc9f74e2403e7e7d617 (diff) | |
download | lwn-85e48bcf294caf2915c16d89dbfbf936653415a3.tar.gz lwn-85e48bcf294caf2915c16d89dbfbf936653415a3.zip |
ipv6: replace call_rcu by kfree_rcu for simple kmem_cache_free callback
Since SLOB was removed and since
commit 6c6c47b063b5 ("mm, slab: call kvfree_rcu_barrier() from kmem_cache_destroy()"),
it is not necessary to use call_rcu when the callback only performs
kmem_cache_free. Use kfree_rcu() directly.
The changes were made using Coccinelle.
Signed-off-by: Julia Lawall <Julia.Lawall@inria.fr>
Reviewed-by: Eric Dumazet <edumazet@google.com>
Acked-by: Paul E. McKenney <paulmck@kernel.org>
Acked-by: Vlastimil Babka <vbabka@suse.cz>
Link: https://patch.msgid.link/20241013201704.49576-5-Julia.Lawall@inria.fr
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
Diffstat (limited to 'net/ipv6')
-rw-r--r-- | net/ipv6/ip6_fib.c | 9 |
1 files changed, 1 insertions, 8 deletions
diff --git a/net/ipv6/ip6_fib.c b/net/ipv6/ip6_fib.c index cea160b249d2..c9da10d971fa 100644 --- a/net/ipv6/ip6_fib.c +++ b/net/ipv6/ip6_fib.c @@ -198,16 +198,9 @@ static void node_free_immediate(struct net *net, struct fib6_node *fn) net->ipv6.rt6_stats->fib_nodes--; } -static void node_free_rcu(struct rcu_head *head) -{ - struct fib6_node *fn = container_of(head, struct fib6_node, rcu); - - kmem_cache_free(fib6_node_kmem, fn); -} - static void node_free(struct net *net, struct fib6_node *fn) { - call_rcu(&fn->rcu, node_free_rcu); + kfree_rcu(fn, rcu); net->ipv6.rt6_stats->fib_nodes--; } |