[PATCH 01/12] maple_tree: Fix check_bulk_rebalance() test locks

Vlastimil Babka posted 12 patches 3 months, 1 week ago
[PATCH 01/12] maple_tree: Fix check_bulk_rebalance() test locks
Posted by Vlastimil Babka 3 months, 1 week ago
From: "Liam R. Howlett" <Liam.Howlett@oracle.com>

The check_bulk_rebalance() test was not correctly locking the tree which
caused issues with the sheaves testing in later patches.  Adding the
missing locks fixed the issue.

Signed-off-by: Liam R. Howlett <Liam.Howlett@oracle.com>
Signed-off-by: Vlastimil Babka <vbabka@suse.cz>
---
 tools/testing/radix-tree/maple.c | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/tools/testing/radix-tree/maple.c b/tools/testing/radix-tree/maple.c
index 172700fb7784d29f9403003b4484a5ebd7aa316b..159d5307b30a4b37e6cf2941848b8718e1b891d9 100644
--- a/tools/testing/radix-tree/maple.c
+++ b/tools/testing/radix-tree/maple.c
@@ -36465,6 +36465,7 @@ static inline void check_bulk_rebalance(struct maple_tree *mt)
 
 	build_full_tree(mt, 0, 2);
 
+	mas_lock(&mas);
 	/* erase every entry in the tree */
 	do {
 		/* set up bulk store mode */
@@ -36474,6 +36475,7 @@ static inline void check_bulk_rebalance(struct maple_tree *mt)
 	} while (mas_prev(&mas, 0) != NULL);
 
 	mas_destroy(&mas);
+	mas_unlock(&mas);
 }
 
 void farmer_tests(void)

-- 
2.51.0
Re: [PATCH 01/12] maple_tree: Fix check_bulk_rebalance() test locks
Posted by Sidhartha Kumar 3 months, 1 week ago
On 9/1/25 7:08 AM, Vlastimil Babka wrote:
> From: "Liam R. Howlett" <Liam.Howlett@oracle.com>
> 
> The check_bulk_rebalance() test was not correctly locking the tree which
> caused issues with the sheaves testing in later patches.  Adding the
> missing locks fixed the issue.
> 
> Signed-off-by: Liam R. Howlett <Liam.Howlett@oracle.com>
> Signed-off-by: Vlastimil Babka <vbabka@suse.cz>

If needed,

Fixes: a6e0ceb7bf48 ("maple_tree: check for MA_STATE_BULK on setting 
wr_rebalance")

Reviewed-by: Sidhartha Kumar <sidhartha.kumar@oracle.com>

> ---
>   tools/testing/radix-tree/maple.c | 2 ++
>   1 file changed, 2 insertions(+)
> 
> diff --git a/tools/testing/radix-tree/maple.c b/tools/testing/radix-tree/maple.c
> index 172700fb7784d29f9403003b4484a5ebd7aa316b..159d5307b30a4b37e6cf2941848b8718e1b891d9 100644
> --- a/tools/testing/radix-tree/maple.c
> +++ b/tools/testing/radix-tree/maple.c
> @@ -36465,6 +36465,7 @@ static inline void check_bulk_rebalance(struct maple_tree *mt)
>   
>   	build_full_tree(mt, 0, 2);
>   
> +	mas_lock(&mas);
>   	/* erase every entry in the tree */
>   	do {
>   		/* set up bulk store mode */
> @@ -36474,6 +36475,7 @@ static inline void check_bulk_rebalance(struct maple_tree *mt)
>   	} while (mas_prev(&mas, 0) != NULL);
>   
>   	mas_destroy(&mas);
> +	mas_unlock(&mas);
>   }
>   
>   void farmer_tests(void)
>