[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <1491670819.6021.33.camel@infradead.org>
Date: Sat, 08 Apr 2017 19:00:19 +0200
From: David Woodhouse <dwmw2@...radead.org>
To: Bjorn Helgaas <helgaas@...nel.org>,
Paul Menzel <pmenzel@...gen.mpg.de>
Cc: linux-pci@...r.kernel.org, linux-kernel@...r.kernel.org
Subject: Re: `pci_apply_final_quirks()` taking half a second
On Sat, 2017-04-08 at 10:41 -0500, Bjorn Helgaas wrote:
>
> > Measuring where time is spent during boot with `systemd-bootchart`
> > on an Asus A780FullHD, it turns out that half a second is spent in
> > `pci_apply_final_quirks()`.
>
> I agree, that seems like a crazy amount of time.
>
> Can you figure out how to turn on pr_debug() (via the dynamic debug
> mess or whatever) and boot with "initcall_debug"? That should tell us
> how long each quirk took.
It could well be spending a fair amount of time just attempting to
match each device against the list. When I first implemented the table-
based quirks, back in the mists of time, there were relatively few.
Now I wonder if it's worth sorting the list by vendor ID or something,
at least for the common case of the quirks which match on
vendor/device.
I note it's also reading PCI_CACHE_LINE_SIZE From config space for each
device in pci_apply_final_quirks(). How long does that take?
Download attachment "smime.p7s" of type "application/x-pkcs7-signature" (4938 bytes)
Powered by blists - more mailing lists