[PATCHv3 0/5] PCI access on removed devices

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

 



We observe that software's removing of a device generates potentially
1000's of MMIO and config space access when unbinding from the removed
hardware, and this reliance on hardware to handle this slows down
software's total tear down time for handling a removed device.

This series reduces the number of non-functional MMIO and config space
accesses on a hot removed device. In some cases, we measure device
unbinding that used to take 100's of milliseconds to complete in < 1ms.

v3 -> v4:

  Merged up to current pci/hotplug.

  The aer initialization is done only when CONFIG_PCIAER is enabled,
  similar to how ATS support is managed.

  Removed making "is_removed" sticky on the checking
  pci_device_is_present. Only pciehp and pcie-dpc set this state in
  this series.

  Added the MIPs dependency. This was okay'ed, but I don't see it in
  the linux-mips tree.

Keith Busch (5):
  mips/pci: Reduce stack frame usage
  pci: Add is_removed state
  pci: No config access for removed devices
  pcie/aer: Cache capability position
  pci/msix: Skip disabling removed devices

 arch/mips/txx9/generic/pci.c       |  6 +-----
 drivers/pci/hotplug/pciehp_pci.c   |  2 ++
 drivers/pci/msi.c                  |  7 ++++++-
 drivers/pci/pcie/aer/aerdrv.c      | 10 +++++-----
 drivers/pci/pcie/aer/aerdrv_core.c | 12 ++++++------
 drivers/pci/pcie/pcie-dpc.c        |  1 +
 drivers/pci/probe.c                |  2 ++
 include/linux/pci.h                | 20 ++++++++++++++++++++
 8 files changed, 43 insertions(+), 17 deletions(-)

-- 
2.7.2

--
To unsubscribe from this list: send the line "unsubscribe linux-pci" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html



[Index of Archives]     [DMA Engine]     [Linux Coverity]     [Linux USB]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [Greybus]

  Powered by Linux