Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > linux.kernel > #1602908

[patch 0/7] x86/pci: Switch to lockless ECAM configuration mode

From Thomas Gleixner <tglx@linutronix.de>
Newsgroups linux.kernel
Subject [patch 0/7] x86/pci: Switch to lockless ECAM configuration mode
Date 2017-03-17 00:20 +0100
Message-ID <tlMQx-5vf-1@gated-at.bofh.it> (permalink)
Organization linux.* mail to news gateway

Show all headers | View raw


Andi reported that the Intel Uncore performance monitoring suffers from the
global pci_lock which protects the generic PCI config space accessors.

This lock can be removed on X86 because all architecture specific config
space accessors are either serialized by a seperate lock or can be
converted to have their own locking. The mmconfig based access (ECAM) does
not require serialization at the config read/write level because the access
is a simple byte/word/dword read from or write to the memory mapped
configuration space. In that case the lock does not provide any more
protection than the hardware provides already.

The series converts the CE4100 PCI low level accessors to use the x86
specific pci_config_lock and implements the switch over to lockless ECAM
configureation space accesors when the system is capable.

Thanks,

	tglx

---
 arch/x86/Kconfig               |    1 
 arch/x86/include/asm/pci.h     |    8 ---
 arch/x86/include/asm/pci_x86.h |   15 +++----
 arch/x86/pci/Makefile          |    2 
 arch/x86/pci/ce4100.c          |   87 ++++++++++++++++++++++-------------------
 arch/x86/pci/common.c          |   16 +++++++
 arch/x86/pci/legacy.c          |   19 +++++---
 arch/x86/pci/mmconfig-shared.c |   36 ++++++++++++++++
 arch/x86/pci/mmconfig_32.c     |   12 -----
 arch/x86/pci/mmconfig_64.c     |   16 +------
 drivers/pci/Kconfig            |    3 +
 drivers/pci/access.c           |   16 +++++--
 12 files changed, 142 insertions(+), 89 deletions(-)

Back to linux.kernel | Previous | NextNext in thread | Find similar | Unroll thread


Thread

[patch 0/7] x86/pci: Switch to lockless ECAM configuration mode Thomas Gleixner <tglx@linutronix.de> - 2017-03-17 00:20 +0100
  [patch 4/7] PCI: Provide Kconfig option for lockless config space  accessors Thomas Gleixner <tglx@linutronix.de> - 2017-03-17 00:20 +0100
  [patch 1/7] x86/pci: Remove duplicate defines Thomas Gleixner <tglx@linutronix.de> - 2017-03-17 00:20 +0100
  [patch 5/7] x86/pci: Select CONFIG_PCI_LOCKLESS_CONFIG Thomas Gleixner <tglx@linutronix.de> - 2017-03-17 00:20 +0100
  [patch 3/7] x86/pci/ce4100: Properly lock accessor functions Thomas Gleixner <tglx@linutronix.de> - 2017-03-17 00:20 +0100
    Re: [patch 3/7] x86/pci/ce4100: Properly lock accessor functions Andi Kleen <ak@linux.intel.com> - 2017-03-17 01:50 +0100
  [patch 6/7] x86/pci/mmcfg: Include 32/64 bit code into shared code Thomas Gleixner <tglx@linutronix.de> - 2017-03-17 00:20 +0100
    Re: [patch 6/7] x86/pci/mmcfg: Include 32/64 bit code into shared  code Andi Kleen <ak@linux.intel.com> - 2017-03-17 01:40 +0100
      Re: [patch 6/7] x86/pci/mmcfg: Include 32/64 bit code into shared  code Thomas Gleixner <tglx@linutronix.de> - 2017-03-17 09:50 +0100
  [patch 7/7] x86/pci/mmcfg: Switch to ECAM config mode if possible Thomas Gleixner <tglx@linutronix.de> - 2017-03-17 00:20 +0100
    Re: [patch 7/7] x86/pci/mmcfg: Switch to ECAM config mode if possible Andi Kleen <ak@linux.intel.com> - 2017-03-17 01:50 +0100
      Re: [patch 7/7] x86/pci/mmcfg: Switch to ECAM config mode if  possible Thomas Gleixner <tglx@linutronix.de> - 2017-03-17 07:20 +0100
  [patch 2/7] x86/pci: Abort if legacy init fails Thomas Gleixner <tglx@linutronix.de> - 2017-03-17 00:20 +0100

csiph-web