Add two helpers, which will be used later.
Signed-off-by: Peng Zhang <zhangpeng.00@bytedance.com>
---
lib/maple_tree.c | 12 +++++++++++-
1 file changed, 11 insertions(+), 1 deletion(-)
diff --git a/lib/maple_tree.c b/lib/maple_tree.c
index ee1ff0c59fd7..ef234cf02e3e 100644
--- a/lib/maple_tree.c
+++ b/lib/maple_tree.c
@@ -165,6 +165,11 @@ 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);
@@ -205,6 +210,11 @@ static unsigned int mas_mt_height(struct ma_state *mas)
return mt_height(mas->tree);
}
+static inline unsigned int mt_attr(struct maple_tree *mt)
+{
+ return mt->ma_flags & ~MT_FLAGS_HEIGHT_MASK;
+}
+
static inline enum maple_type mte_node_type(const struct maple_enode *entry)
{
return ((unsigned long)entry >> MAPLE_NODE_TYPE_SHIFT) &
@@ -5520,7 +5530,7 @@ void mas_destroy(struct ma_state *mas)
mt_free_bulk(count, (void __rcu **)&node->slot[1]);
total -= count;
}
- kmem_cache_free(maple_node_cache, node);
+ mt_free_one(ma_mnode_ptr(node));
total--;
}
--
2.20.1
* Peng Zhang <zhangpeng.00@bytedance.com> [230830 08:57]:
> Add two helpers, which will be used later.
Can you please change the subject to something like:
Add mt_free_one() and mt_attr() helpers
for easier git log readability?
>
> Signed-off-by: Peng Zhang <zhangpeng.00@bytedance.com>
> ---
> lib/maple_tree.c | 12 +++++++++++-
> 1 file changed, 11 insertions(+), 1 deletion(-)
>
> diff --git a/lib/maple_tree.c b/lib/maple_tree.c
> index ee1ff0c59fd7..ef234cf02e3e 100644
> --- a/lib/maple_tree.c
> +++ b/lib/maple_tree.c
> @@ -165,6 +165,11 @@ 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);
> @@ -205,6 +210,11 @@ static unsigned int mas_mt_height(struct ma_state *mas)
> return mt_height(mas->tree);
> }
>
> +static inline unsigned int mt_attr(struct maple_tree *mt)
> +{
> + return mt->ma_flags & ~MT_FLAGS_HEIGHT_MASK;
> +}
> +
> static inline enum maple_type mte_node_type(const struct maple_enode *entry)
> {
> return ((unsigned long)entry >> MAPLE_NODE_TYPE_SHIFT) &
> @@ -5520,7 +5530,7 @@ void mas_destroy(struct ma_state *mas)
> mt_free_bulk(count, (void __rcu **)&node->slot[1]);
> total -= count;
> }
> - kmem_cache_free(maple_node_cache, node);
> + mt_free_one(ma_mnode_ptr(node));
> total--;
> }
>
> --
> 2.20.1
>
在 2023/9/8 04:13, Liam R. Howlett 写道:
> * Peng Zhang <zhangpeng.00@bytedance.com> [230830 08:57]:
>> Add two helpers, which will be used later.
>
> Can you please change the subject to something like:
> Add mt_free_one() and mt_attr() helpers
>
> for easier git log readability?
OK, I'll do that.
>
>>
>> Signed-off-by: Peng Zhang <zhangpeng.00@bytedance.com>
>> ---
>> lib/maple_tree.c | 12 +++++++++++-
>> 1 file changed, 11 insertions(+), 1 deletion(-)
>>
>> diff --git a/lib/maple_tree.c b/lib/maple_tree.c
>> index ee1ff0c59fd7..ef234cf02e3e 100644
>> --- a/lib/maple_tree.c
>> +++ b/lib/maple_tree.c
>> @@ -165,6 +165,11 @@ 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);
>> @@ -205,6 +210,11 @@ static unsigned int mas_mt_height(struct ma_state *mas)
>> return mt_height(mas->tree);
>> }
>>
>> +static inline unsigned int mt_attr(struct maple_tree *mt)
>> +{
>> + return mt->ma_flags & ~MT_FLAGS_HEIGHT_MASK;
>> +}
>> +
>> static inline enum maple_type mte_node_type(const struct maple_enode *entry)
>> {
>> return ((unsigned long)entry >> MAPLE_NODE_TYPE_SHIFT) &
>> @@ -5520,7 +5530,7 @@ void mas_destroy(struct ma_state *mas)
>> mt_free_bulk(count, (void __rcu **)&node->slot[1]);
>> total -= count;
>> }
>> - kmem_cache_free(maple_node_cache, node);
>> + mt_free_one(ma_mnode_ptr(node));
>> total--;
>> }
>>
>> --
>> 2.20.1
>>
© 2016 - 2025 Red Hat, Inc.