mbox series

[V4,0/4] x86/topology: Fix CPUID.1F handling

Message ID 20221014090147.1836-1-rui.zhang@intel.com (mailing list archive)
Headers show
Series x86/topology: Fix CPUID.1F handling | expand

Message

Zhang Rui Oct. 14, 2022, 9:01 a.m. UTC
Handling for CPUID.1F is introduced by commit 7745f03eb395 ("x86/topology:
Add CPUID.1F multi-die/package support").
And only SMT/Core/Die level types are supported at that time.

On Intel AlderLake-N platforms where there are Ecores only, the Ecore
Module topology is enumerated via CPUID.1F Module level.

This exposes two bugs in the CPUID.1F handling code,
1. Linux interprets the Module ID bits as package ID and erroneously
   reports a multi module system as a multi-package system.
2. Linux excludes the unknown Module ID bits from the core ID, and results
   in duplicate core ID’s shown in a package after the first issue solved.

Patch 3/4 and 4/4 fixes these two problems in CPUID.1F handling code, and
patch 1/4 and 2/4 are needed to avoid potential regressions.

thanks,
-rui

---
Changes in V4:
 - Drop a fix for a potential issue, as well as document cleanups/updates.
   So this patch series only contains bug fixes (stable candidates).
 - Integrate the patch subject/changelog improvements from Dave.
 - Add Fixes tags.

Changes in V3:
 - changelog improvements based on Peter' feedback
 - Remove combined tags

Changes in V2:
 - fix/improve changelog/comment wording issues
 - reorder the patches to eliminate bisection breakage window
 - add a new patch for coretemp driver variable renaming
 - update coretemp driver patch to fix a case of ida_free(&ida, -2)