aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorPedro Falcato <pfalcato@suse.de>2025-09-03 14:59:59 +0200
committerVlastimil Babka <vbabka@suse.cz>2025-09-29 09:24:44 +0200
commit025f93101bb4e0a0cdc0fc4ee264f7905271ad75 (patch)
tree9054d72d0a54b816c1bc1644453780cc08baf1b4
parentmaple_tree: Use kfree_rcu in ma_free_rcu (diff)
downloadlinux-025f93101bb4e0a0cdc0fc4ee264f7905271ad75.tar.gz
linux-025f93101bb4e0a0cdc0fc4ee264f7905271ad75.zip
maple_tree: Replace mt_free_one() with kfree()
kfree() is a little shorter and works with kmem_cache_alloc'd pointers too. Also lets us remove one more helper. Signed-off-by: Pedro Falcato <pfalcato@suse.de> Reviewed-by: Suren Baghdasaryan <surenb@google.com> Signed-off-by: Vlastimil Babka <vbabka@suse.cz>
-rw-r--r--lib/maple_tree.c13
1 files changed, 4 insertions, 9 deletions
diff --git a/lib/maple_tree.c b/lib/maple_tree.c
index c706e2e48f88..0439aaacf6cb 100644
--- a/lib/maple_tree.c
+++ b/lib/maple_tree.c
@@ -177,11 +177,6 @@ static inline int mt_alloc_bulk(gfp_t gfp, size_t size, void **nodes)
return kmem_cache_alloc_bulk(maple_node_cache, gfp, size, nodes);
}
-static inline void mt_free_one(struct maple_node *node)
-{
- kmem_cache_free(maple_node_cache, node);
-}
-
static inline void mt_free_bulk(size_t size, void __rcu **nodes)
{
kmem_cache_free_bulk(maple_node_cache, size, (void **)nodes);
@@ -5092,7 +5087,7 @@ static void mt_free_walk(struct rcu_head *head)
mt_free_bulk(node->slot_len, slots);
free_leaf:
- mt_free_one(node);
+ kfree(node);
}
static inline void __rcu **mte_destroy_descend(struct maple_enode **enode,
@@ -5176,7 +5171,7 @@ next:
free_leaf:
if (free)
- mt_free_one(node);
+ kfree(node);
else
mt_clear_meta(mt, node, node->type);
}
@@ -5385,7 +5380,7 @@ void mas_destroy(struct ma_state *mas)
mt_free_bulk(count, (void __rcu **)&node->slot[1]);
total -= count;
}
- mt_free_one(ma_mnode_ptr(node));
+ kfree(ma_mnode_ptr(node));
total--;
}
@@ -6373,7 +6368,7 @@ static void mas_dup_free(struct ma_state *mas)
}
node = mte_to_node(mas->node);
- mt_free_one(node);
+ kfree(node);
}
/*