From: "Liam R. Howlett" <Liam.Howlett@Oracle.com>
To: Peng Zhang <zhangpeng.00@bytedance.com>,
akpm@linux-foundation.org, linux-mm@kvack.org,
linux-kernel@vger.kernel.org, maple-tree@lists.infradead.org
Cc: Geert Uytterhoeven <geert@linux-m68k.org>
Subject: Re: [RESEND PATCH 1/8] maple_tree: set the node limit when creating a new root node
Date: Mon, 10 Jul 2023 11:07:26 -0400 [thread overview]
Message-ID: <20230710150726.orwwolf53i53hlro@revolver> (raw)
In-Reply-To: <20230710150532.hvj7jzc5ep73yq4i@revolver>
... actually add Geert to the cc list.
* Liam R. Howlett <Liam.Howlett@Oracle.com> [230710 11:06]:
> * Liam R. Howlett <Liam.Howlett@Oracle.com> [230707 11:18]:
> > * Peng Zhang <zhangpeng.00@bytedance.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@vger.kernel.org>
> Cc: Geert Uytterhoeven <geert@linux-m68k.org>
>
> > >
> > > Signed-off-by: Peng Zhang <zhangpeng.00@bytedance.com>
> >
> > This has been on my list of things to do for a while, thanks.
> >
> > Reviewed-by: Liam R. Howlett <Liam.Howlett@oracle.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@lists.infradead.org
> https://lists.infradead.org/mailman/listinfo/maple-tree
next prev parent reply other threads:[~2023-07-10 15:09 UTC|newest]
Thread overview: 24+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-07-07 10:10 [RESEND PATCH 0/8] Improve the validation for maple tree and some cleanup Peng Zhang
2023-07-07 10:10 ` [RESEND PATCH 1/8] maple_tree: set the node limit when creating a new root node Peng Zhang
2023-07-07 15:18 ` Liam R. Howlett
2023-07-10 15:05 ` Liam R. Howlett
2023-07-10 15:07 ` Liam R. Howlett [this message]
2023-07-07 10:10 ` [RESEND PATCH 2/8] maple_tree: don't use MAPLE_ARANGE64_META_MAX to indicate no gap Peng Zhang
2023-07-07 15:18 ` Liam R. Howlett
2023-07-07 10:10 ` [RESEND PATCH 3/8] maple_tree: make mas_validate_gaps() to check metadata Peng Zhang
2023-07-07 14:45 ` Liam R. Howlett
2023-07-10 9:44 ` Peng Zhang
2023-07-10 13:57 ` Liam R. Howlett
2023-07-07 10:10 ` [RESEND PATCH 4/8] maple_tree: fix mas_validate_child_slot() to check last missed slot Peng Zhang
2023-07-07 15:18 ` Liam R. Howlett
2023-07-07 10:10 ` [RESEND PATCH 5/8] maple_tree: make mas_validate_limits() check root node and node limit Peng Zhang
2023-07-07 14:58 ` Liam R. Howlett
2023-07-10 9:11 ` Peng Zhang
2023-07-07 10:10 ` [RESEND PATCH 6/8] maple_tree: update mt_validate() Peng Zhang
2023-07-07 15:02 ` Liam R. Howlett
2023-07-10 9:47 ` Peng Zhang
2023-07-07 10:10 ` [RESEND PATCH 7/8] maple_tree: replace mas_logical_pivot() with mas_safe_pivot() Peng Zhang
2023-07-07 15:19 ` Liam R. Howlett
2023-07-07 10:10 ` [RESEND PATCH 8/8] maple_tree: drop mas_first_entry() Peng Zhang
2023-07-07 15:19 ` Liam R. Howlett
2023-07-07 13:48 ` [RESEND PATCH 0/8] Improve the validation for maple tree and some cleanup Liam R. Howlett
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20230710150726.orwwolf53i53hlro@revolver \
--to=liam.howlett@oracle.com \
--cc=akpm@linux-foundation.org \
--cc=geert@linux-m68k.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-mm@kvack.org \
--cc=maple-tree@lists.infradead.org \
--cc=zhangpeng.00@bytedance.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox