32 bit nodes have a larger branching factor. This affects the required
value to cause a height change. Update the spanning store height test
to work for both 64 and 32 bit nodes.
Signed-off-by: Liam R. Howlett <Liam.Howlett@oracle.com>
---
tools/testing/radix-tree/maple.c | 7 ++++++-
1 file changed, 6 insertions(+), 1 deletion(-)
diff --git a/tools/testing/radix-tree/maple.c b/tools/testing/radix-tree/maple.c
index 90a0db45a33c3..05714c22994ea 100644
--- a/tools/testing/radix-tree/maple.c
+++ b/tools/testing/radix-tree/maple.c
@@ -36327,13 +36327,18 @@ extern void test_kmem_cache_bulk(void);
static inline void check_spanning_store_height(struct maple_tree *mt)
{
int index = 0;
+ int last = 140;
MA_STATE(mas, mt, 0, 0);
mas_lock(&mas);
while (mt_height(mt) != 3) {
mas_store_gfp(&mas, xa_mk_value(index), GFP_KERNEL);
mas_set(&mas, ++index);
}
- mas_set_range(&mas, 90, 140);
+
+ if (MAPLE_32BIT)
+ last = 155; /* 32 bit higher branching factor. */
+
+ mas_set_range(&mas, 90, last);
mas_store_gfp(&mas, xa_mk_value(index), GFP_KERNEL);
MT_BUG_ON(mt, mas_mt_height(&mas) != 2);
mas_unlock(&mas);
--
2.47.2
On 8/27/25 8:30 PM, Liam R. Howlett wrote:
> 32 bit nodes have a larger branching factor. This affects the required
> value to cause a height change. Update the spanning store height test
> to work for both 64 and 32 bit nodes.
>
> Signed-off-by: Liam R. Howlett <Liam.Howlett@oracle.com>
Fixes: f9d3a963fef4 ("maple_tree: use height and depth consistently")
Reviewed-by: Sidhartha Kumar <sidhartha.kumar@oracle.com>> ---
> tools/testing/radix-tree/maple.c | 7 ++++++-
> 1 file changed, 6 insertions(+), 1 deletion(-)
>
> diff --git a/tools/testing/radix-tree/maple.c b/tools/testing/radix-tree/maple.c
> index 90a0db45a33c3..05714c22994ea 100644
> --- a/tools/testing/radix-tree/maple.c
> +++ b/tools/testing/radix-tree/maple.c
> @@ -36327,13 +36327,18 @@ extern void test_kmem_cache_bulk(void);
> static inline void check_spanning_store_height(struct maple_tree *mt)
> {
> int index = 0;
> + int last = 140;
> MA_STATE(mas, mt, 0, 0);
> mas_lock(&mas);
> while (mt_height(mt) != 3) {
> mas_store_gfp(&mas, xa_mk_value(index), GFP_KERNEL);
> mas_set(&mas, ++index);
> }
> - mas_set_range(&mas, 90, 140);
> +
> + if (MAPLE_32BIT)
> + last = 155; /* 32 bit higher branching factor. */
> +
> + mas_set_range(&mas, 90, last);
> mas_store_gfp(&mas, xa_mk_value(index), GFP_KERNEL);
> MT_BUG_ON(mt, mas_mt_height(&mas) != 2);
> mas_unlock(&mas);
© 2016 - 2026 Red Hat, Inc.