[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20230425164507.dulntzwtkm5mp4ia@revolver>
Date: Tue, 25 Apr 2023 12:45:07 -0400
From: "Liam R. Howlett" <Liam.Howlett@...cle.com>
To: Peng Zhang <zhangpeng.00@...edance.com>
Cc: akpm@...ux-foundation.org, linux-mm@...ck.org,
linux-kernel@...r.kernel.org, maple-tree@...ts.infradead.org
Subject: Re: [PATCH 7/9] maple_tree: Delete redundant code in mas_next_node()
* Peng Zhang <zhangpeng.00@...edance.com> [230425 07:05]:
The title of the patch seems wrong.
This isn't redundant code and you aren't deleting it.. you are moving a
block of code outside a loop. You did modify the check though, is that
the redundant code?
> When offset == node_end is satisfied, go to the parent node, mas->max
> will not change. So there is no need to update min on the move.
Please try not to state the code in your commit message.
I have moved this block of code in patch 27/34 [1]
>
> Signed-off-by: Peng Zhang <zhangpeng.00@...edance.com>
> ---
> lib/maple_tree.c | 7 ++-----
> 1 file changed, 2 insertions(+), 5 deletions(-)
>
> diff --git a/lib/maple_tree.c b/lib/maple_tree.c
> index 83441ef2e1f57..8bfa837b7b752 100644
> --- a/lib/maple_tree.c
> +++ b/lib/maple_tree.c
> @@ -4616,7 +4616,8 @@ static inline int mas_next_node(struct ma_state *mas, struct maple_node *node,
> enum maple_type mt;
> void __rcu **slots;
>
> - if (mas->max >= max)
> + min = mas->max + 1;
> + if (min > max)
> goto no_entry;
What happens on overflow?
>
> level = 0;
> @@ -4624,10 +4625,6 @@ static inline int mas_next_node(struct ma_state *mas, struct maple_node *node,
> if (ma_is_root(node))
> goto no_entry;
>
> - min = mas->max + 1;
> - if (min > max)
> - goto no_entry;
> -
> if (unlikely(mas_ascend(mas)))
> return 1;
>
> --
> 2.20.1
>
[1] https://lore.kernel.org/linux-mm/20230425140955.3834476-28-Liam.Howlett@oracle.com/
Powered by blists - more mailing lists