linux-mm.kvack.org archive mirror
 help / color / mirror / Atom feed
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

[...]


  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