diff options
author | Thomas Gleixner <tglx@linutronix.de> | 2017-03-16 17:50:07 -0400 |
---|---|---|
committer | Thomas Gleixner <tglx@linutronix.de> | 2017-06-28 16:32:56 -0400 |
commit | df65c1bcd9b7b639177a5a15da1b8dc3bee4f5fa (patch) | |
tree | cf57264f1343300b390569054fa8e6bb068babd7 | |
parent | 714fe383d6c9bd95d0d2cad8cbeff3688342d025 (diff) |
x86/PCI: Select CONFIG_PCI_LOCKLESS_CONFIG
All x86 PCI configuration space accessors have either their own
serialization or can operate completely lockless (ECAM).
Disable the global lock in the generic PCI configuration space accessors.
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.295079391@linutronix.de
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
-rw-r--r-- | arch/x86/Kconfig | 1 | ||||
-rw-r--r-- | arch/x86/pci/common.c | 4 |
2 files changed, 3 insertions, 2 deletions
diff --git a/arch/x86/Kconfig b/arch/x86/Kconfig index 0efb4c9497bc..0652c9f8902e 100644 --- a/arch/x86/Kconfig +++ b/arch/x86/Kconfig | |||
@@ -166,6 +166,7 @@ config X86 | |||
166 | select HAVE_UNSTABLE_SCHED_CLOCK | 166 | select HAVE_UNSTABLE_SCHED_CLOCK |
167 | select HAVE_USER_RETURN_NOTIFIER | 167 | select HAVE_USER_RETURN_NOTIFIER |
168 | select IRQ_FORCED_THREADING | 168 | select IRQ_FORCED_THREADING |
169 | select PCI_LOCKLESS_CONFIG | ||
169 | select PERF_EVENTS | 170 | select PERF_EVENTS |
170 | select RTC_LIB | 171 | select RTC_LIB |
171 | select RTC_MC146818_LIB | 172 | select RTC_MC146818_LIB |
diff --git a/arch/x86/pci/common.c b/arch/x86/pci/common.c index 190e718694b1..cfd1a89fd04e 100644 --- a/arch/x86/pci/common.c +++ b/arch/x86/pci/common.c | |||
@@ -75,8 +75,8 @@ struct pci_ops pci_root_ops = { | |||
75 | }; | 75 | }; |
76 | 76 | ||
77 | /* | 77 | /* |
78 | * This interrupt-safe spinlock protects all accesses to PCI | 78 | * This interrupt-safe spinlock protects all accesses to PCI configuration |
79 | * configuration space. | 79 | * space, except for the mmconfig (ECAM) based operations. |
80 | */ | 80 | */ |
81 | DEFINE_RAW_SPINLOCK(pci_config_lock); | 81 | DEFINE_RAW_SPINLOCK(pci_config_lock); |
82 | 82 | ||