[PATCH 2/2] maple_tree: Testing fix for spanning store on 32b

Liam R. Howlett posted 2 patches 1 month ago
[PATCH 2/2] maple_tree: Testing fix for spanning store on 32b
Posted by Liam R. Howlett 1 month ago
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
Re: [PATCH 2/2] maple_tree: Testing fix for spanning store on 32b
Posted by Sidhartha Kumar 1 month ago
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);