Messages in this thread Patch in this message | | | Date | Wed, 28 Jun 2017 13:45:54 -0700 | From | tip-bot for Thomas Gleixner <> | Subject | [tip:x86/platform] x86/PCI: Select CONFIG_PCI_LOCKLESS_CONFIG |
| |
Commit-ID: df65c1bcd9b7b639177a5a15da1b8dc3bee4f5fa Gitweb: http://git.kernel.org/tip/df65c1bcd9b7b639177a5a15da1b8dc3bee4f5fa Author: Thomas Gleixner <tglx@linutronix.de> AuthorDate: Thu, 16 Mar 2017 22:50:07 +0100 Committer: Thomas Gleixner <tglx@linutronix.de> CommitDate: Wed, 28 Jun 2017 22:32:56 +0200
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>
--- arch/x86/Kconfig | 1 + arch/x86/pci/common.c | 4 ++-- 2 files changed, 3 insertions(+), 2 deletions(-)
diff --git a/arch/x86/Kconfig b/arch/x86/Kconfig index 0efb4c9..0652c9f 100644 --- a/arch/x86/Kconfig +++ b/arch/x86/Kconfig @@ -166,6 +166,7 @@ config X86 select HAVE_UNSTABLE_SCHED_CLOCK select HAVE_USER_RETURN_NOTIFIER select IRQ_FORCED_THREADING + select PCI_LOCKLESS_CONFIG select PERF_EVENTS select RTC_LIB select RTC_MC146818_LIB diff --git a/arch/x86/pci/common.c b/arch/x86/pci/common.c index 190e718..cfd1a89 100644 --- a/arch/x86/pci/common.c +++ b/arch/x86/pci/common.c @@ -75,8 +75,8 @@ struct pci_ops pci_root_ops = { }; /* - * This interrupt-safe spinlock protects all accesses to PCI - * configuration space. + * This interrupt-safe spinlock protects all accesses to PCI configuration + * space, except for the mmconfig (ECAM) based operations. */ DEFINE_RAW_SPINLOCK(pci_config_lock);
| |