1. 02 7月, 2021 15 次提交
  2. 18 5月, 2021 3 次提交
  3. 21 4月, 2021 1 次提交
    • K
      perf/x86/intel/uncore: Remove uncore extra PCI dev HSWEP_PCI_PCU_3 · 9d480158
      Kan Liang 提交于
      There may be a kernel panic on the Haswell server and the Broadwell
      server, if the snbep_pci2phy_map_init() return error.
      
      The uncore_extra_pci_dev[HSWEP_PCI_PCU_3] is used in the cpu_init() to
      detect the existence of the SBOX, which is a MSR type of PMON unit.
      The uncore_extra_pci_dev is allocated in the uncore_pci_init(). If the
      snbep_pci2phy_map_init() returns error, perf doesn't initialize the
      PCI type of the PMON units, so the uncore_extra_pci_dev will not be
      allocated. But perf may continue initializing the MSR type of PMON
      units. A null dereference kernel panic will be triggered.
      
      The sockets in a Haswell server or a Broadwell server are identical.
      Only need to detect the existence of the SBOX once.
      Current perf probes all available PCU devices and stores them into the
      uncore_extra_pci_dev. It's unnecessary.
      Use the pci_get_device() to replace the uncore_extra_pci_dev. Only
      detect the existence of the SBOX on the first available PCU device once.
      
      Factor out hswep_has_limit_sbox(), since the Haswell server and the
      Broadwell server uses the same way to detect the existence of the SBOX.
      
      Add some macros to replace the magic number.
      
      Fixes: 5306c31c ("perf/x86/uncore/hsw-ep: Handle systems with only two SBOXes")
      Reported-by: NSteve Wahl <steve.wahl@hpe.com>
      Signed-off-by: NKan Liang <kan.liang@linux.intel.com>
      Signed-off-by: NPeter Zijlstra (Intel) <peterz@infradead.org>
      Tested-by: NSteve Wahl <steve.wahl@hpe.com>
      Link: https://lkml.kernel.org/r/1618521764-100923-1-git-send-email-kan.liang@linux.intel.com
      9d480158
  4. 02 4月, 2021 1 次提交
  5. 22 3月, 2021 1 次提交
    • I
      x86: Remove unusual Unicode characters from comments · c681df88
      Ingo Molnar 提交于
      We've accumulated a few unusual Unicode characters in arch/x86/
      over the years, substitute them with their proper ASCII equivalents.
      
      A few of them were a whitespace equivalent: ' ' - the use was harmless.
      Signed-off-by: NIngo Molnar <mingo@kernel.org>
      Cc: Borislav Petkov <bp@alien8.de>
      Cc: Thomas Gleixner <tglx@linutronix.de>
      Cc: Peter Zijlstra <peterz@infradead.org>
      Cc: linux-kernel@vger.kernel.org
      c681df88
  6. 14 1月, 2021 2 次提交
  7. 29 9月, 2020 2 次提交
  8. 24 9月, 2020 1 次提交
    • K
      perf/x86/intel/uncore: Support PCIe3 unit on Snow Ridge · a3b1e845
      Kan Liang 提交于
      The Snow Ridge integrated PCIe3 uncore unit can be used to collect
      performance data, e.g. utilization, between PCIe devices, plugged into
      the PCIe port, and the components (in M2IOSF) responsible for
      translating and managing requests to/from the device. The performance
      data is very useful for analyzing the performance of PCIe devices.
      
      The device with the PCIe3 uncore PMON units is owned by the portdrv_pci
      driver. Create a PCI sub driver for the PCIe3 uncore PMON units.
      
      Here are some difference between PCIe3 uncore unit and other uncore
      pci units.
      - There may be several Root Ports on a system. But the uncore counters
        only exist in the Root Port A. A user can configure the channel mask
        to collect the data from other Root Ports.
      - The event format of the PCIe3 uncore unit is the same as IIO unit of
        SKX.
      - The Control Register of PCIe3 uncore unit is 64 bits.
      - The offset of each counters is 8, which is the same as M2M unit of
        SNR.
      - New MSR addresses for unit control, counter and counter config.
      Signed-off-by: NKan Liang <kan.liang@linux.intel.com>
      Signed-off-by: NPeter Zijlstra (Intel) <peterz@infradead.org>
      Link: https://lkml.kernel.org/r/1600094060-82746-7-git-send-email-kan.liang@linux.intel.com
      a3b1e845
  9. 15 6月, 2020 3 次提交
  10. 08 4月, 2020 1 次提交
    • K
      perf/x86/intel/uncore: Add Ice Lake server uncore support · 2b3b76b5
      Kan Liang 提交于
      The uncore subsystem in Ice Lake server is similar to previous server.
      There are some differences in config register encoding and pci device
      IDs. The uncore PMON units in Ice Lake server include Ubox, Chabox, IIO,
      IRP, M2PCIE, PCU, M2M, PCIE3 and IMC.
      
       - For CHA, filter 1 register has been removed. The filter 0 register can
         be used by and of CHA events to be filterd by Thread/Core-ID. To do
         so, the control register's tid_en bit must be set to 1.
       - For IIO, there are some changes on event constraints. The MSR address
         and MSR offsets among counters are also changed.
       - For IRP, the MSR address and MSR offsets among counters are changed.
       - For M2PCIE, the counters are accessed by MSR now. Add new MSR address
         and MSR offsets. Change event constraints.
       - To determine the number of CHAs, have to read CAPID6(Low) and CAPID7
         (High) now.
       - For M2M, update the PCICFG address and Device ID.
       - For UPI, update the PCICFG address, Device ID and counter address.
       - For M3UPI, update the PCICFG address, Device ID, counter address and
         event constraints.
       - For IMC, update the formular to calculate MMIO BAR address, which is
         MMIO_BASE + specific MEM_BAR offset.
      Signed-off-by: NKan Liang <kan.liang@linux.intel.com>
      Signed-off-by: NPeter Zijlstra (Intel) <peterz@infradead.org>
      Signed-off-by: NIngo Molnar <mingo@kernel.org>
      Link: https://lkml.kernel.org/r/1585842411-150452-1-git-send-email-kan.liang@linux.intel.com
      2b3b76b5
  11. 20 3月, 2020 1 次提交
  12. 17 1月, 2020 2 次提交
  13. 17 6月, 2019 3 次提交
  14. 23 5月, 2019 1 次提交
  15. 04 2月, 2019 1 次提交
  16. 02 10月, 2018 2 次提交