[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <CAMuHMdWpvpWoDa=Ox-do92czYRvkok6_x6pYUH+ZouMcJbXy+Q@mail.gmail.com>
Date: Wed, 6 Sep 2023 21:06:22 +0200
From: Geert Uytterhoeven <geert@...ux-m68k.org>
To: "Liam R. Howlett" <Liam.Howlett@...cle.com>
Cc: Andrew Morton <akpm@...ux-foundation.org>,
maple-tree@...ts.infradead.org, linux-mm@...ck.org,
linux-kernel@...r.kernel.org, stable@...r.kernel.org,
linux-renesas-soc@...r.kernel.org,
Shanker Donthineni <sdonthineni@...dia.com>,
"Paul E. McKenney" <paulmck@...nel.org>
Subject: Re: [PATCH v2 1/2] maple_tree: Disable mas_wr_append() when other
readers are possible
Hi Liam,
On Wed, Sep 6, 2023 at 5:24 PM Liam R. Howlett <Liam.Howlett@...cle.com> wrote:
> * Geert Uytterhoeven <geert@...ux-m68k.org> [230829 12:42]:
> > On Fri, 18 Aug 2023, Liam R. Howlett wrote:
> > > The current implementation of append may cause duplicate data and/or
> > > incorrect ranges to be returned to a reader during an update. Although
> > > this has not been reported or seen, disable the append write operation
> > > while the tree is in rcu mode out of an abundance of caution.
>
> ...
> > >
> > > Fixes: 54a611b60590 ("Maple Tree: add new data structure")
> > > Cc: stable@...r.kernel.org
> > > Signed-off-by: Liam R. Howlett <Liam.Howlett@...cle.com>
> >
> > Thanks for your patch, which is now commit cfeb6ae8bcb96ccf
> > ("maple_tree: disable mas_wr_append() when other readers are
> > possible") in v6.5, and is being backported to stable.
> >
> > On Renesas RZ/A1 and RZ/A2 (single-core Cortex-A9), this causes the
> > following warning:
> >
> > clocksource: timer@...3b000: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 28958491609 ns
> > sched_clock: 32 bits at 66MHz, resolution 15ns, wraps every 32537631224ns
> > /soc/timer@...3b000: used for clocksource
> > /soc/timer@...3c000: used for clock events
> > +------------[ cut here ]------------
> > +WARNING: CPU: 0 PID: 0 at init/main.c:992 start_kernel+0x2f0/0x480
> > +Interrupts were enabled early
>
> Note that the maple tree is involved in tracking the interrupts, see
> kernel/irq/irqdesc.c irq_insert_desc(), etc.
>
> > +CPU: 0 PID: 0 Comm: swapper Not tainted 6.5.0-rza2mevb-10197-g99b80d6b92b5 #237
>
> I cannot find commit id 99b80d6b92b5.
That's my local tree, based on renesas-drivers-2023-08-29-v6.5.
>
> > +Hardware name: Generic R7S9210 (Flattened Device Tree)
> > + unwind_backtrace from show_stack+0x10/0x14
> > + show_stack from dump_stack_lvl+0x24/0x3c
> > + dump_stack_lvl from __warn+0x74/0xb8
> > + __warn from warn_slowpath_fmt+0x78/0xb0
> > + warn_slowpath_fmt from start_kernel+0x2f0/0x480
> > + start_kernel from 0x0
> > +---[ end trace 0000000000000000 ]---
> > Console: colour dummy device 80x30
> > printk: console [tty0] enabled
> > Calibrating delay loop (skipped) preset value.. 1056.00 BogoMIPS (lpj=5280000)
> >
> > Reverting this commit fixes the issue.
>
> I have set up testing with qemu for powerpc 32b, and reverting this
> patch does not fix it for me. Did you revert the patch or bisect to the
> issue?
I did bisect the issue (on RZ/A) to cfeb6ae8bcb96ccf.
Reverting that commit on top of my local tree fixed the issue.
> It also happens on 0e0e9bd5f7b9 (I ran git checkout cfeb6ae8bcb96ccf^ to
> get the commit immediately before cfeb6ae8bcb96ccf).
That is not the case on Renesas RZ/A (which is arm32).
Gr{oetje,eeting}s,
Geert
--
Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@...ux-m68k.org
In personal conversations with technical people, I call myself a hacker. But
when I'm talking to journalists I just say "programmer" or something like that.
-- Linus Torvalds
Powered by blists - more mailing lists