Skip to content

PPIN (Protected Processor Inventory Number) updates

Tony Luck linux-patches lkml stable 3 versions – Applied

Status from this message: The following commit has been merged into the x86/cpu branch of tip:

Get series with b4
b4 am [email protected]

Versions newest first · linked by author and title

  1. v3 Latest5 patches 0 repliesApplied
  2. v26 patches 12 repliesApplied
  3. v15 patches 8 repliesSuperseded

Changes in v3 from the cover letter

----------------
1) Part 1 of V2 (adding ICELAKE_D) merged upstream, so dropped here

2) Rebased to v5.17-rc2 (to build on top of that merged patch)

3) Fixed bisection breakage reported by Boris where .msr_ppin structure fields were initialized two patches before the field was added.

4) Add Ack's from GregKH to parts 4 & 5

Patches in v3 Applied

#Subject and filesSizeRepliesApplied
1/5x86/cpu: Merge Intel and AMD ppin_init() functionsarch/x86/kernel/cpu/amd.c arch/x86/kernel/cpu/common.c arch/x86/kernel/cpu/mce/intel.c+74 -720 replies
2/5x86/cpu: X86_FEATURE_INTEL_PPIN finally has a CPUID bitarch/x86/kernel/cpu/common.c arch/x86/kernel/cpu/scattered.c+2 -00 replies
3/5x86/cpu: Read/save PPIN MSR during initializationarch/x86/include/asm/processor.h arch/x86/kernel/cpu/common.c arch/x86/kernel/cpu/mce/core.c+7 -60 replies
4/5topology/sysfs: Add format parameter to macro defining "show" functions for procdrivers/base/topology.c+8 -80 replies
5/5topology/sysfs: Add PPIN in sysfs under cpu topologyDocumentation/ABI/stable/sysfs-devices-system-cpu Documentation/ABI/testing/sysfs-devices-system-cpu arch/x86/include/asm/topology.h +2 more+18 -00 replies

Reviews trailers per patch

2 of 5 patches have a Reviewed-by or Acked-by.

PatchGreg Kroah-Hartman
1/5
2/5
3/5
4/5A-b
5/5A-b

Trailers given in replies are filled; those carried in the patches from earlier versions are outlined with dashes.

Read the v3 thread

Cover letter [PATCH v3 0/5] PPIN (Protected Processor Inventory Number) updates

The series starts out with two changes that I expect are uncontroversial. Later parts get progressively more "RFC" - but seem to have survived discussions on LKML.

1) Simple cleanup to merge Intel and AMD duplicated code to test for presence of PPIN and check whether it is enabled.

2) Long overdue update from Intel to enumerate the PPIN and PPIN_CTL MSRs. See the December 2021 Software Developers Manual

3) Code to scan machine check banks re-reads the PPIN every time banks are scanned (whether for a machine check, a CMCI, or just a periodic poll). Since PPIN never changes, this seems like unnecessary overhead. Read the MSR once (per CPU) and save to memory.

4) Refactor as prep for last part.

5) Add "ppin" to /sys/devices/system/cpu/cpu*/topology/ppin

Use case: ppin is already useful when reporting machine check errors. Patches for new "in field scan" tests will appear soon. If a CPU fails such a test it will be useful to provide the ppin along with the test failure data.

Changes since V2:
----------------
1) Part 1 of V2 (adding ICELAKE_D) merged upstream, so dropped here

2) Rebased to v5.17-rc2 (to build on top of that merged patch)

3) Fixed bisection breakage reported by Boris where .msr_ppin structure fields were initialized two patches before the field was added.

4) Add Ack's from GregKH to parts 4 & 5

Tony Luck (5):
x86/cpu: Merge Intel and AMD ppin_init() functions x86/cpu: X86_FEATURE_INTEL_PPIN finally has a CPUID bit x86/cpu: Read/save PPIN MSR during initialization topology/sysfs: Add format parameter to macro defining "show"
functions for proc
topology/sysfs: Add PPIN in sysfs under cpu topology

 .../ABI/stable/sysfs-devices-system-cpu       |  4 +
 .../ABI/testing/sysfs-devices-system-cpu      |  6 ++
 arch/x86/include/asm/processor.h              |  2 +
 arch/x86/include/asm/topology.h               |  1 +
 arch/x86/kernel/cpu/amd.c                     | 30 -------
 arch/x86/kernel/cpu/common.c                  | 79 +++++++++++++++++++
 arch/x86/kernel/cpu/mce/core.c                |  7 +-
 arch/x86/kernel/cpu/mce/intel.c               | 42 ----------
 arch/x86/kernel/cpu/scattered.c               |  1 +
 drivers/base/topology.c                       | 20 +++--
 include/linux/topology.h                      |  3 +
 11 files changed, 109 insertions(+), 86 deletions(-)

base-commit: 26291c54e111ff6ba87a164d85d4a4e134b7315c

Signature · 1 line
2.31.1