Messages in this thread | | | From | Tony Luck <> | Subject | [PATCH v3 0/5] PPIN (Protected Processor Inventory Number) updates | Date | Mon, 31 Jan 2022 15:01:06 -0800 |
| |
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
| |