Bug 84391 - Excessive "no hotplug settings from platform" messages
Summary: Excessive "no hotplug settings from platform" messages
Status: RESOLVED CODE_FIX
Alias: None
Product: Drivers
Classification: Unclassified
Component: PCI (show other bugs)
Hardware: All Linux
: P1 normal
Assignee: drivers_pci@kernel-bugs.osdl.org
URL: http://lkml.kernel.org/r/CA+55aFwH4UL...
Keywords:
Depends on:
Blocks:
 
Reported: 2014-09-12 14:40 UTC by Bjorn Helgaas
Modified: 2014-10-28 13:20 UTC (History)
0 users

See Also:
Kernel Version: v3.17-rc2
Subsystem:
Regression: Yes
Bisected commit-id:


Attachments
dmesg with excessive "no hotplug settings" messages (86.96 KB, text/plain)
2014-09-12 14:46 UTC, Bjorn Helgaas
Details

Description Bjorn Helgaas 2014-09-12 14:40:54 UTC
Linus reported at http://lkml.kernel.org/r/CA+55aFwH4UL-76-=ygDww4=vC9U=6_Yhs0D0H-nwtAkKXC6Vag@mail.gmail.com:

So I don't know when this started happening, and it may well be an
age-old issue, possibly made worse by configurations copied from
distro makers that enable various random PCI hotplug logic, but my
laptop dmesg is full of these annoying and worthless messages after
suspend/resume:

  ...
  pci 0000:00:00.0: no hotplug settings from platform
  pci 0000:00:00.0: using default PCI settings
  i915 0000:00:02.0: no hotplug settings from platform
  i915 0000:00:02.0: using default PCI settings
  ...

basically repeating mindlessly for each PCI device. It's insane. It
adds zero value. Why do we print out those inane messages?

The reason _seems_ to be that some ACPI hotplug logic basically ends
up doing "pci_configure_slot()" on every PCI slot, whether something
is hotpluggable or not. Trust me, those things aren't. Printing
pointless hotplug information for them is just crazy, and takes up
kernel message space and hides _real_ messages for no good reason.

Lookie here:

  [torvalds@vaio linux]$ dmesg | grep "no hotplug settings" | wc
     1006    8658   71574

yeah, that's a thousand lines of crap. There's another 568 lines of
the "using default PCI settings". In fact, there's *more* of this, but
there's been so much of it that it's scrolled off the kernel message
buffer.
Comment 1 Bjorn Helgaas 2014-09-12 14:46:07 UTC
Created attachment 149971 [details]
dmesg with excessive "no hotplug settings" messages

Here's a sample dmesg log from v3.17-rc2 on my laptop (HP EliteBook 840).  This is just a boot (no suspend/resume), but:

  $ egrep "no hotplug settings|using default" dmesg-pre | wc -l
  200
Comment 2 Bjorn Helgaas 2014-10-28 13:20:57 UTC
6a73336bde29 ("PCI: Remove "no hotplug settings from platform" warning") appeared in v3.17 and removed both these messages.

This series of related hotplug device configuration changes appeared in v3.18-rc1:


2f419d76599e "Merge branch 'pci/hotplug' into next":

    * pci/hotplug:
      PCI: pciehp: Prevent NULL dereference during probe
      PCI: pciehp: Reduce PCIe slot_ctrl to 16 bits
      PCI: Configure *all* devices, not just hot-added ones
      PCI: Preserve MPS and MRRS when applying _HPX settings
      PCI: Apply _HPP settings to all hot-added PCI devices
      PCI: Preserve BIOS PCI_COMMAND_SERR and PCI_COMMAND_PARITY settings
      PCI: Apply _HPP settings to PCIe devices as well as PCI and PCI-X
      PCI: Remove unused pci_configure_slot()
      ACPI / hotplug / PCI: Remove pci_configure_slot() usage
      PCI: shpchp: Remove pci_configure_slot() usage
      PCI: pciehp: Remove pci_configure_slot() usage
      PCI: Add pci_configure_device() during enumeration
      PCI: Move pci_configure_slot() to drivers/pci/probe.c
      PCI: Shuffle pci-acpi.c functions to group them logically
      PCI: Whitespace cleanup in pci-acpi.c
      PCI: Move pci_get_hp_params() to drivers/pci/pci-acpi.c
      PCI: pciehp: Configure hot-added display devices
      PCI: Remove "no hotplug settings from platform" warning

Note You need to log in before you can comment on or make changes to this bug.