Re: Slow booting on x15

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



* Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> [200923 11:14]:
> Hi Tony,
> 
> On Wed, Sep 23, 2020 at 10:07:58AM +0300, Tony Lindgren wrote:
> > * Laurent Pinchart [200918 15:59]:
> > > On Fri, Sep 18, 2020 at 06:25:02PM +0300, Tomi Valkeinen wrote:
> > > > Hi,
> > > > 
> > > > Has anyone noticed that booting would have slowed down in 5.8 and in 5.9-rcs? I'm booting x15 with
> > > > my custom config builder, which uses omap2plus_defconfig as a base. I see:
> > > > 
> > > > v5.7
> > > > [    0.597765] cpuidle: using governor menu
> > > > [    0.793198] No ATAGs?
> > > > 
> > > > [    9.654611] Run /sbin/init as init process
> > > > 
> > > > 5.8
> > > > [    0.616660] cpuidle: using governor menu
> > > > [    4.439856] No ATAGs?
> > > > 
> > > > [   15.484710] Run /sbin/init as init process
> > > > 
> > > > v5.9-rc5
> > > > [    0.706165] cpuidle: using governor menu
> > > > [    6.761812] No ATAGs?
> > > > 
> > > > [   19.522536] Run /sbin/init as init process
> > > > 
> > > > 
> > > > So v5.7 boots quickly, and init starts around 9.6 secs. 5.8 is much slower, and 5.9-rc5 even slower.
> > > 
> > > I've tracked this down to device_link_add_missing_supplier_links()
> > > taking about 40+ms to run, for every device added to the system. Given
> > > the large number of devices, this adds up to 10s on v5.9-rc5, when
> > > called during the initial of_platform_populate().
> > > 
> > > It doesn't seem there's a single culprit here (although I may have
> > > missed it), "just" lots of walks through the whole device tree that end
> > > up taking way too much time. I'm not planning to investigate this
> > > further at this point.
> > 
> > Hmm so do you have some commit that causes this slowness?
> 
> No, I haven't had time to bisect this.
> 
> > In general, we should now be looking each device at module_init
> > time only when configured in the dts. I guess it's possible we still
> > have some extra walking of the whole device tree left but this sounds
> > like a more generic issue though and not related to the omap dts
> > conversion.
> 
> There's a call to of_platform_populate() in pdata_quirks_init(), and
> that takes between 5 and 10 seconds to run, depending on the board.

If that is the issue we may be able to improve it a bit by probing
the interconnects separately for less deferred probe cases.

Regards,

Tony



[Index of Archives]     [Linux Arm (vger)]     [ARM Kernel]     [ARM MSM]     [Linux Tegra]     [Linux WPAN Networking]     [Linux Wireless Networking]     [Maemo Users]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite Trails]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux