Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > linux.kernel > #1619333

Re: `pci_apply_final_quirks()` taking half a second

From David Woodhouse <dwmw2@infradead.org>
Newsgroups linux.kernel
Subject Re: `pci_apply_final_quirks()` taking half a second
Date 2017-04-08 19:10 +0200
Message-ID <tu225-85S-5@gated-at.bofh.it> (permalink)
References <ttJiN-4zq-11@gated-at.bofh.it> <tu0MF-78Z-5@gated-at.bofh.it>
Organization linux.* mail to news gateway

Show all headers | View raw


[Multipart message — attachments visible in raw view] - view raw

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?

Back to linux.kernel | Previous | NextPrevious in thread | Next in thread | Find similar | Unroll thread


Thread

`pci_apply_final_quirks()` taking half a second Paul Menzel <pmenzel@molgen.mpg.de> - 2017-04-07 23:10 +0200
  Re: `pci_apply_final_quirks()` taking half a second Bjorn Helgaas <helgaas@kernel.org> - 2017-04-08 17:50 +0200
    Re: `pci_apply_final_quirks()` taking half a second David Woodhouse <dwmw2@infradead.org> - 2017-04-08 19:10 +0200
      Re: `pci_apply_final_quirks()` taking half a second Bjorn Helgaas <helgaas@kernel.org> - 2017-04-08 21:10 +0200

csiph-web