PCI: Provide Kconfig option for lockless config space accessors
authorThomas Gleixner <tglx@linutronix.de>
Thu, 16 Mar 2017 21:50:06 +0000 (22:50 +0100)
committerThomas Gleixner <tglx@linutronix.de>
Wed, 28 Jun 2017 20:32:56 +0000 (22:32 +0200)
commit714fe383d6c9bd95d0d2cad8cbeff3688342d025
tree183bc2a1007b91839c7e29ebaefc29dd8ca68984
parentbb290fda879ffd1f6f6b0869bf7335554093f4bd
PCI: Provide Kconfig option for lockless config space accessors

The generic PCI configuration space accessors are globally serialized via
pci_lock. On larger systems this causes massive lock contention when the
configuration space has to be accessed frequently. One such access pattern
is the Intel Uncore performance counter unit.

Provide a kernel config option which can be selected by an architecture
when the low level PCI configuration space accessors in the architecture
use their own serialization or can operate completely lockless.

Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Acked-by: Bjorn Helgaas <helgaas@kernel.org>
Cc: Andi Kleen <ak@linux.intel.com>
Cc: Peter Zijlstra <peterz@infradead.org>
Cc: Stephane Eranian <eranian@google.com>
Cc: Borislav Petkov <bp@alien8.de>
Cc: linux-pci@vger.kernel.org
Link: http://lkml.kernel.org/r/20170316215057.205961140@linutronix.de
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
drivers/pci/Kconfig
drivers/pci/access.c