Commit 103e9062 authored by Liam R. Howlett's avatar Liam R. Howlett Committed by Andrew Morton
Browse files

maple_tree: testing fix for spanning store on 32b

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.

Link: https://lkml.kernel.org/r/20250828003023.418966-3-Liam.Howlett@oracle.com


Fixes: f9d3a963 ("maple_tree: use height and depth consistently")
Signed-off-by: default avatarLiam R. Howlett <Liam.Howlett@oracle.com>
Reviewed-by: default avatarSidhartha Kumar <sidhartha.kumar@oracle.com>
Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
parent 82b5fe30
Loading
Loading
Loading
Loading
+6 −1
Original line number Diff line number Diff line
@@ -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);