[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <20230710150726.orwwolf53i53hlro@revolver>
Date: Mon, 10 Jul 2023 11:07:26 -0400
From: "Liam R. Howlett" <Liam.Howlett@...cle.com>
To: Peng Zhang <zhangpeng.00@...edance.com>, akpm@...ux-foundation.org,
linux-mm@...ck.org, linux-kernel@...r.kernel.org,
maple-tree@...ts.infradead.org
Cc: Geert Uytterhoeven <geert@...ux-m68k.org>
Subject: Re: [RESEND PATCH 1/8] maple_tree: set the node limit when creating
a new root node
... actually add Geert to the cc list.
* Liam R. Howlett <Liam.Howlett@...cle.com> [230710 11:06]:
> * Liam R. Howlett <Liam.Howlett@...cle.com> [230707 11:18]:
> > * Peng Zhang <zhangpeng.00@...edance.com> [230707 06:11]:
> > > Set the node limit of the root node so that the last pivot of all nodes
> > > is the node limit (if the node is not full).
>
> This patch also fixes a bug in mas_rev_awalk(). Effectively, always
> setting a maximum makes mas_logical_pivot() behave as mas_safe_pivot().
> Without this fix, it is possible that very small tasks would fail to
> find the correct gap. Although this has not been observed with real
> tasks, it has been reported to happen in m68k nommu running the maple
> tree tests.
>
> Link: https://lore.kernel.org/linux-mm/CAMuHMdV4T53fOw7VPoBgPR7fP6RYqf=CBhD_y_vOg53zZX_DnA@mail.gmail.com/
> Cc: <stable@...r.kernel.org>
> Cc: Geert Uytterhoeven <geert@...ux-m68k.org>
>
> > >
> > > Signed-off-by: Peng Zhang <zhangpeng.00@...edance.com>
> >
> > This has been on my list of things to do for a while, thanks.
> >
> > Reviewed-by: Liam R. Howlett <Liam.Howlett@...cle.com>
> >
> > > ---
> > > lib/maple_tree.c | 3 ++-
> > > 1 file changed, 2 insertions(+), 1 deletion(-)
> > >
> > > diff --git a/lib/maple_tree.c b/lib/maple_tree.c
> > > index d3072858c280..f55e59bd9122 100644
> > > --- a/lib/maple_tree.c
> > > +++ b/lib/maple_tree.c
> > > @@ -3692,7 +3692,8 @@ static inline int mas_root_expand(struct ma_state *mas, void *entry)
> > > mas->offset = slot;
> > > pivots[slot] = mas->last;
> > > if (mas->last != ULONG_MAX)
> > > - slot++;
> > > + pivots[++slot] = ULONG_MAX;
> > > +
> > > mas->depth = 1;
> > > mas_set_height(mas);
> > > ma_set_meta(node, maple_leaf_64, 0, slot);
> > > --
> > > 2.20.1
> > >
> > >
>
> --
> maple-tree mailing list
> maple-tree@...ts.infradead.org
> https://lists.infradead.org/mailman/listinfo/maple-tree
Powered by blists - more mailing lists