From: SeongJae Park <sj@kernel.org>
To: "Liam R. Howlett" <Liam.Howlett@oracle.com>
Cc: SeongJae Park <sj@kernel.org>,
Andrew Morton <akpm@linux-foundation.org>,
maple-tree@lists.infradead.org, linux-mm@kvack.org,
linux-kernel@vger.kernel.org,
Suren Baghdasaryan <surenb@google.com>,
Matthew Wilcox <willy@infradead.org>,
Sidhartha Kumar <sidhartha.kumar@oracle.com>,
Vlastimil Babka <vbabka@suse.cz>,
Alice Ryhl <aliceryhl@google.com>,
Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>,
Geert Uytterhoeven <geert@linux-m68k.org>,
Arnd Bergmann <arnd@arndb.de>,
Christian Kujau <lists@nerdbynature.de>
Subject: Re: [PATCH v3 21/30] maple_tree: Add cp_is_new_root() helper
Date: Tue, 3 Feb 2026 22:36:19 -0800 [thread overview]
Message-ID: <20260204063620.15857-1-sj@kernel.org> (raw)
In-Reply-To: <malwmirqnpuxqkqrobcmzfkmmxipoyzwfs2nwc5fbpxlt2r2ej@wchmjtaljvw3>
On Tue, 3 Feb 2026 12:26:44 -0500 "Liam R. Howlett" <Liam.Howlett@oracle.com> wrote:
>
> Andrew,
>
> Please apply this fix to remove warnings on older compilers. I've compiled the
> lot against gcc 8.1 and 9.3 with only this fix needed.
I also confirmed the below patch passes my build tests.
>
> Thanks again, SJ, for looking at these patches!
You're welcome, that's my pleasure :)
>
> Regards,
> Liam
>
> -------------------------------------------------------------------------------
> diff --git a/lib/maple_tree.c b/lib/maple_tree.c
> index 42038e42a4c7e..22cbaba72931f 100644
> --- a/lib/maple_tree.c
> +++ b/lib/maple_tree.c
> @@ -3361,7 +3361,7 @@ static inline bool cp_is_new_root(struct maple_copy *cp, struct ma_state *mas)
> * read-side operations that can view it until it is insert into
> * the tree after an rcu_assign_pointer() call.
> */
> - RCU_INIT_POINTER(cp->slot[0], mt_mk_node(cp->dst[0].node, mt));
> + ma_init_slot(cp->slot[0], cp->dst[0].node, mt);
> cp->height++;
> }
> WARN_ON_ONCE(cp->dst[0].node != mte_to_node(
But, I found mm-new of today triggers below warning during booting on my test
machine. And git-bisect points this fixup patch. I further found reverting
this patch makes the booting success without the below warning. I have no idea
about the root cause, so reporting first.
[ 0.447863] ------------[ cut here ]------------
[ 0.449019] WARNING: lib/maple_tree.c:2617 at mas_wr_split+0x116d/0x1270, CPU#0: swapper/0/0
[ 0.451068] Modules linked in:
[ 0.451745] CPU: 0 UID: 0 PID: 0 Comm: swapper/0 Not tainted 6.19.0-rc6+ #263 PREEMPT(voluntary)
[ 0.453653] Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS 1.16.3-debian-1.16.3-2 04/01/2014
[ 0.455282] RIP: 0010:mas_wr_split (lib/maple_tree.c:2617 (discriminator 1) lib/maple_tree.c:2590 (discriminator 1) lib/maple_tree.c:3400 (discriminator 1) lib/maple_tree.c:3462 (discriminator 1))
[ 0.456071] Code: ff ff ff 40 88 7b 4f 88 53 4d 4c 89 43 08 48 89 4b 10 48 89 6b 20 4c 89 63 28 e9 27 fe ff ff 4c 39 e2 0f 45 f8 e9 e7 f2 ff ff <0f> 0b e9 78 f8 ff ff 48 c7 44 24 10 00 00 00 00 b9 01 00 00 09
All code
========
0: ff (bad)
1: ff (bad)
2: ff 40 88 incl -0x78(%rax)
5: 7b 4f jnp 0x56
7: 88 53 4d mov %dl,0x4d(%rbx)
a: 4c 89 43 08 mov %r8,0x8(%rbx)
e: 48 89 4b 10 mov %rcx,0x10(%rbx)
12: 48 89 6b 20 mov %rbp,0x20(%rbx)
16: 4c 89 63 28 mov %r12,0x28(%rbx)
1a: e9 27 fe ff ff jmp 0xfffffffffffffe46
1f: 4c 39 e2 cmp %r12,%rdx
22: 0f 45 f8 cmovne %eax,%edi
25: e9 e7 f2 ff ff jmp 0xfffffffffffff311
2a:* 0f 0b ud2 <-- trapping instruction
2c: e9 78 f8 ff ff jmp 0xfffffffffffff8a9
31: 48 c7 44 24 10 00 00 movq $0x0,0x10(%rsp)
38: 00 00
3a: b9 01 00 00 09 mov $0x9000001,%ecx
Code starting with the faulting instruction
===========================================
0: 0f 0b ud2
2: e9 78 f8 ff ff jmp 0xfffffffffffff87f
7: 48 c7 44 24 10 00 00 movq $0x0,0x10(%rsp)
e: 00 00
10: b9 01 00 00 09 mov $0x9000001,%ecx
[ 0.460144] RSP: 0000:ffffffff9b803ba0 EFLAGS: 00010087
[ 0.461338] RAX: ffff8c6b8022f600 RBX: ffffffff9b803e78 RCX: 0000000000000000
[ 0.462915] RDX: ffff8c6b8022ee00 RSI: 0000000000000001 RDI: ffff8c6b8022ee50
[ 0.464498] RBP: 0000000000000003 R08: 0000000000000001 R09: 0000000000000003
[ 0.466099] R10: 0000000000000002 R11: ffff8c6b8022ee00 R12: ffffffff9b803c90
[ 0.467676] R13: ffffffff9b803e78 R14: 0000000000000001 R15: ffffffff9b803c78
[ 0.469244] FS: 0000000000000000(0000) GS:ffff8c6ccfce7000(0000) knlGS:0000000000000000
[ 0.470862] CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033
[ 0.471827] CR2: ffff8c6c40801000 CR3: 00000001bf624000 CR4: 00000000000000b0
[ 0.473238] Call Trace:
[ 0.473861] <TASK>
[ 0.474326] mas_store_gfp (lib/maple_tree.c:4890)
[ 0.475159] early_irq_init (kernel/irq/irqdesc.c:197 (discriminator 2) kernel/irq/irqdesc.c:572 (discriminator 2))
[ 0.476105] start_kernel (init/main.c:1112)
[ 0.476922] x86_64_start_reservations (arch/x86/kernel/head64.c:310)
[ 0.477950] x86_64_start_kernel (??:?)
[ 0.478854] common_startup_64 (arch/x86/kernel/head_64.S:419)
[ 0.479761] </TASK>
[ 0.480243] ---[ end trace 0000000000000000 ]---
Thanks,
SJ
[...]
next prev parent reply other threads:[~2026-02-04 6:36 UTC|newest]
Thread overview: 41+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-01-30 20:59 [PATCH v3 00/30] maple_tree: Replace big node with maple copy Liam R. Howlett
2026-01-30 20:59 ` [PATCH v3 01/30] maple_tree: Fix mas_dup_alloc() sparse warning Liam R. Howlett
2026-01-30 20:59 ` [PATCH v3 02/30] maple_tree: Move mas_spanning_rebalance loop to function Liam R. Howlett
2026-01-30 20:59 ` [PATCH v3 03/30] maple_tree: Extract use of big node from mas_wr_spanning_store() Liam R. Howlett
2026-01-30 20:59 ` [PATCH v3 04/30] maple_tree: Remove unnecessary assignment of orig_l index Liam R. Howlett
2026-01-30 20:59 ` [PATCH v3 05/30] maple_tree: inline mas_spanning_rebalance() into mas_wr_spanning_rebalance() Liam R. Howlett
2026-01-30 20:59 ` [PATCH v3 06/30] maple_tree: Make ma_wr_states reliable for reuse in spanning store Liam R. Howlett
2026-01-30 20:59 ` [PATCH v3 07/30] maple_tree: Remove l_wr_mas from mas_wr_spanning_rebalance Liam R. Howlett
2026-01-30 20:59 ` [PATCH v3 08/30] maple_tree: Don't pass through height in mas_wr_spanning_store Liam R. Howlett
2026-01-30 20:59 ` [PATCH v3 09/30] maple_tree: Move maple_subtree_state from mas_wr_spanning_store to mas_wr_spanning_rebalance Liam R. Howlett
2026-01-30 20:59 ` [PATCH v3 10/30] maple_tree: Correct right ma_wr_state end pivot in mas_wr_spanning_store() Liam R. Howlett
2026-01-30 20:59 ` [PATCH v3 11/30] maple_tree: Introduce maple_copy node and use it in mas_spanning_rebalance() Liam R. Howlett
2026-01-30 20:59 ` [PATCH v3 12/30] maple_tree: Testing update for spanning store Liam R. Howlett
2026-01-30 20:59 ` [PATCH v3 13/30] maple_tree: Inline mas_spanning_rebalance_loop() into mas_wr_spanning_rebalance() Liam R. Howlett
2026-01-30 20:59 ` [PATCH v3 14/30] maple_tree: Change initial big node setup in mas_wr_spanning_rebalance() Liam R. Howlett
2026-01-30 20:59 ` [PATCH v3 15/30] maple_tree: Introduce ma_leaf_max_gap() Liam R. Howlett
2026-01-30 20:59 ` [PATCH v3 16/30] maple_tree: Add gap support, slot and pivot sizes for maple copy Liam R. Howlett
2026-01-30 20:59 ` [PATCH v3 17/30] maple_tree: Start using maple copy node for destination Liam R. Howlett
2026-01-30 20:59 ` [PATCH v3 18/30] maple_tree: inline mas_wr_spanning_rebalance() Liam R. Howlett
2026-01-30 20:59 ` [PATCH v3 19/30] maple_tree: Remove unnecessary return statements Liam R. Howlett
2026-01-30 20:59 ` [PATCH v3 20/30] maple_tree: Separate wr_split_store and wr_rebalance store type code path Liam R. Howlett
2026-01-30 20:59 ` [PATCH v3 21/30] maple_tree: Add cp_is_new_root() helper Liam R. Howlett
2026-02-01 0:10 ` SeongJae Park
2026-02-02 14:58 ` Liam R. Howlett
2026-02-02 15:56 ` SeongJae Park
2026-02-02 17:01 ` Liam R. Howlett
2026-02-02 17:53 ` SeongJae Park
2026-02-03 17:26 ` Liam R. Howlett
2026-02-04 6:36 ` SeongJae Park [this message]
2026-01-30 20:59 ` [PATCH v3 22/30] maple_tree: Use maple copy node for mas_wr_rebalance() operation Liam R. Howlett
2026-01-30 20:59 ` [PATCH v3 23/30] maple_tree: Add test for rebalance calculation off-by-one Liam R. Howlett
2026-01-30 20:59 ` [PATCH v3 24/30] maple_tree: Add copy_tree_location() helper Liam R. Howlett
2026-01-30 20:59 ` [PATCH v3 25/30] maple_tree: Add cp_converged() helper Liam R. Howlett
2026-01-30 20:59 ` [PATCH v3 26/30] maple_tree: Use maple copy node for mas_wr_split() Liam R. Howlett
2026-01-30 20:59 ` [PATCH v3 27/30] maple_tree: Remove maple big node and subtree structs Liam R. Howlett
2026-01-30 20:59 ` [PATCH v3 28/30] maple_tree: Pass maple copy node to mas_wmb_replace() Liam R. Howlett
2026-01-30 20:59 ` [PATCH v3 29/30] maple_tree: Don't pass end to mas_wr_append() Liam R. Howlett
2026-01-30 20:59 ` [PATCH v3 30/30] maple_tree: Clean up mas_wr_node_store() Liam R. Howlett
2026-01-31 20:27 ` [PATCH v3 00/30] maple_tree: Replace big node with maple copy Andrew Morton
2026-02-02 15:40 ` Liam R. Howlett
2026-02-02 18:31 ` Andrew Morton
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=20260204063620.15857-1-sj@kernel.org \
--to=sj@kernel.org \
--cc=Liam.Howlett@oracle.com \
--cc=akpm@linux-foundation.org \
--cc=aliceryhl@google.com \
--cc=arnd@arndb.de \
--cc=geert@linux-m68k.org \
--cc=kuninori.morimoto.gx@renesas.com \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-mm@kvack.org \
--cc=lists@nerdbynature.de \
--cc=maple-tree@lists.infradead.org \
--cc=sidhartha.kumar@oracle.com \
--cc=surenb@google.com \
--cc=vbabka@suse.cz \
--cc=willy@infradead.org \
/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