Re: [PATCH v4 9/9] clk: fixed-factor: Let clk framework find parent

From: Guenter Roeck
Date: Tue Apr 23 2019 - 15:26:13 EST


On Tue, Apr 23, 2019 at 11:22:57AM -0700, Stephen Boyd wrote:
> Quoting Guenter Roeck (2019-04-23 11:09:22)
> > Hi,
> >
> > On Fri, Apr 12, 2019 at 11:31:50AM -0700, Stephen Boyd wrote:
> > > Convert this driver to a more modern way of specifying parents now that
> > > we have a way to specify clk parents by DT index. This lets us nicely
> > > avoid a problem where a parent clk name isn't know because the parent
> > > clk hasn't been registered yet.
> > >
> > > Cc: Miquel Raynal <miquel.raynal@xxxxxxxxxxx>
> > > Cc: Jerome Brunet <jbrunet@xxxxxxxxxxxx>
> > > Cc: Russell King <linux@xxxxxxxxxxxxxxx>
> > > Cc: Michael Turquette <mturquette@xxxxxxxxxxxx>
> > > Cc: Jeffrey Hugo <jhugo@xxxxxxxxxxxxxx>
> > > Cc: Chen-Yu Tsai <wens@xxxxxxxx>
> > > Signed-off-by: Stephen Boyd <sboyd@xxxxxxxxxx>
> >
> > This patch causes a substantial number of crashes of qemu boot tests in -next.
> >
> > Failed tests:
> > arm:versatilepb:versatile_defconfig:aeabi:pci:scsi:mem128:versatile-pb:rootfs
> > arm:versatilepb:versatile_defconfig:aeabi:pci:mem128:versatile-pb:initrd
> > arm:versatileab:versatile_defconfig:mem128:versatile-ab:initrd
> > arm:beagle:multi_v7_defconfig:sd:mem256:omap3-beagle:rootfs
> > arm:beaglexm:multi_v7_defconfig:sd:mem512:omap3-beagle-xm:rootfs
> > arm:overo:multi_v7_defconfig:sd:mem256:omap3-overo-tobi:rootfs
> > arm:realview-pb-a8:realview_defconfig:realview_pb:mem512:arm-realview-pba8:initrd
> > arm:realview-pbx-a9:realview_defconfig:realview_pb:arm-realview-pbx-a9:initrd
> > arm:realview-eb:realview_defconfig:realview_eb:mem512:arm-realview-eb:initrd
> > arm:realview-eb-mpcore:realview_defconfig:realview_eb:mem512:arm-realview-eb-11mp-ctrevb:initrd
> > arm:integratorcp:integrator_defconfig:mem128:integratorcp:initrd
> > arm:mps2-an385:mps2_defconfig:mps2-an385:initrd
> >
> > Most of the time the crash happens too early to generate a log,
> > but here is one:
> >
> > [ 0.000000] [<2100bd59>] (unwind_backtrace) from [<2100b11f>] (show_stack+0xb/0xc)
> > [ 0.000000] [<2100b11f>] (show_stack) from [<211b2d27>] (Ldiv0_64+0x9/0x1a)
> > [ 0.000000] [<211b2d27>] (Ldiv0_64) from [<21038e87>] (clocks_calc_max_nsecs+0x1d/0x62)
> > [ 0.000000] [<21038e87>] (clocks_calc_max_nsecs) from [<21038fb1>] (__clocksource_update_freq_scale+0xe5/0x11c)
> > [ 0.000000] [<21038fb1>] (__clocksource_update_freq_scale) from [<21038ff1>] (__clocksource_register_scale+0x9/0x40)
> > [ 0.000000] [<21038ff1>] (__clocksource_register_scale) from [<212a8713>] (mps2_timer_init+0xaf/0x29c)
> > [ 0.000000] [<212a8713>] (mps2_timer_init) from [<212a85b1>] (timer_probe+0x49/0x80)
> > [ 0.000000] [<212a85b1>] (timer_probe) from [<2129d639>] (start_kernel+0x1c5/0x2f4)
> > [ 0.000000] [<2129d639>] (start_kernel) from [<00000000>] ( (null))
> > [ 0.000000] clocksource: mps2-clksrc: mask: 0xffffffff max_cycles: 0x0, max_idle_ns: 0 ns
> > [ 0.000000] Division by zero in kernel.
> >
> > Reverting the crash fixes the problem. Bisect log attached.
> >
>
> Thanks for the report. This was bisected yesterday by kernelci.org (see
> https://lkml.kernel.org/r/5cbe596c.1c69fb81.e252.b9d0@xxxxxxxxxxxxx for
> more details). Can you try the latest version of clk-next and see if it
> fixes the early crashes? The one-liner patch I attached in that thread
> should be all you need.
>
Yes, it done. Thanks for taking care of it.

> It would be even better for kernelci to find the offending patch like
> you've done here and reply to the patch on the mailing list.
>
> Finally, can you share your qemu recipe? I can pull it into my testing
> and integration workflow so that this doesn't happen again.
>

It is all available at https://github.com/groeck/linux-build-test/.
You would need an out-of-tree version of qemu to test mps2-an385, though;
upstream qemu rejected the patches necessary to make it work for testing
linux kernel images.

Guenter