[PATCH 1/3] maple_tree: use ma_data_end() in mas_data_end()
Wei Yang
richard.weiyang at gmail.com
Fri Aug 30 17:10:51 PDT 2024
These two function share almost the same code and do the same thing.
Let's just call ma_data_end() in mas_data_end() to reduce duplicate
code.
Signed-off-by: Wei Yang <richard.weiyang at gmail.com>
---
lib/maple_tree.c | 22 ++++------------------
1 file changed, 4 insertions(+), 18 deletions(-)
diff --git a/lib/maple_tree.c b/lib/maple_tree.c
index b7d747a7938e..85668246f944 100644
--- a/lib/maple_tree.c
+++ b/lib/maple_tree.c
@@ -1435,28 +1435,14 @@ static __always_inline unsigned char ma_data_end(struct maple_node *node,
*/
static inline unsigned char mas_data_end(struct ma_state *mas)
{
- enum maple_type type;
- struct maple_node *node;
- unsigned char offset;
- unsigned long *pivots;
-
- type = mte_node_type(mas->node);
- node = mas_mn(mas);
- if (type == maple_arange_64)
- return ma_meta_end(node, type);
+ enum maple_type type = mte_node_type(mas->node);
+ struct maple_node *node = mas_mn(mas);
+ unsigned long *pivots = ma_pivots(node, type);
- pivots = ma_pivots(node, type);
if (unlikely(ma_dead_node(node)))
return 0;
- offset = mt_pivots[type] - 1;
- if (likely(!pivots[offset]))
- return ma_meta_end(node, type);
-
- if (likely(pivots[offset] == mas->max))
- return offset;
-
- return mt_pivots[type];
+ return ma_data_end(node, type, pivots, mas->max);
}
/*
--
2.34.1
More information about the maple-tree
mailing list