Re: [PATCH] maple_tree: remove conditionals to detect wr_node_store

From: Wei Yang
Date: Thu Oct 10 2024 - 02:28:55 EST


On Wed, Oct 09, 2024 at 11:20:07AM -0400, Sidhartha Kumar wrote:
>From: Sidhartha <sidhartha.kumar@xxxxxxxxxx>
>
>In mas_wr_store_type(), we check if new_end < mt_slots[wr_mas->type]. If
>this check fails, we know that ,after this, new_end is >= mt_min_slots.
>Checking this again when we detect a wr_node_store later in the function
>is reduntant. Because this check is part of an OR statement, the statement
>will always evaluate to true, therefore we can just get rid of it.
>
>Suggested-by; Wei Yang <richard.weiyang@xxxxxxxxx>
>Signed-off-by: Sidhartha Kumar <sidhartha.kumar@xxxxxxxxxx>
>---
> lib/maple_tree.c | 9 +--------
> 1 file changed, 1 insertion(+), 8 deletions(-)
>
>diff --git a/lib/maple_tree.c b/lib/maple_tree.c
>index 4b423330d83c..f5a12d37b352 100644
>--- a/lib/maple_tree.c
>+++ b/lib/maple_tree.c
>@@ -4252,14 +4252,7 @@ static inline void mas_wr_store_type(struct ma_wr_state *wr_mas)
> return;
> }
>
>- if (mte_is_root(mas->node) || (new_end >= mt_min_slots[wr_mas->type]) ||
>- (mas->mas_flags & MA_STATE_BULK)) {
>- mas->store_type = wr_node_store;
>- return;
>- }
>-
>- mas->store_type = wr_invalid;
>- MAS_WARN_ON(mas, 1);

If my understanding is correct, here is the only place we assign wr_invalid.

So maybe we can remove this definition?

>+ mas->store_type = wr_node_store;
> }
>
> /**
>--
>2.43.0

--
Wei Yang
Help you, Help me