lkml.org 
[lkml]   [2022]   [Jan]   [31]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
From
Subject[PATCH v3 0/5] PPIN (Protected Processor Inventory Number) updates
Date
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
--
2.31.1

\
 
 \ /
  Last update: 2022-02-01 00:02    [W:0.321 / U:0.036 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site