Message ID | 20250306-add-cpu-type-v7-0-f903fb022fd4@linux.intel.com |
---|---|
Headers | show |
Series | Utilize cpu-type for CPU matching | expand |
On Thu, Mar 06, 2025 at 06:18:20PM -0800, Pawan Gupta wrote: > diff --git a/include/linux/mod_devicetable.h b/include/linux/mod_devicetable.h > index d67614f7b7f1..18e996acb49a 100644 > --- a/include/linux/mod_devicetable.h > +++ b/include/linux/mod_devicetable.h > @@ -692,6 +692,7 @@ struct x86_cpu_id { > __u16 feature; /* bit index */ > /* Solely for kernel-internal use: DO NOT EXPORT to userspace! */ > __u16 flags; > + __u8 cpu_type; The struct is called "x86_cpu_id" and all its members describe a CPU. There's no need to have more "cpu_" redundancy in the member names - just call that "type". It is clear that it is about a CPU's type. The macro names having "CPU" - X86_CPU_TYPE_ANY - are fine I guess. Thx.
v7: - Moved the CPU table cleanup patch out of the series, it does not relate to cpu-type detection. Will send it separately. v6: - Use the recently added macro VULNBL_INTEL_STEPS() in the affected CPU list cleanup patch. - Rebased to tip/x86/cpu. This series is now the remaining last 5 patches from the original series. Below are previously merged patches: - upstream: 45239ba39a52 ("x86/cpu: Add CPU type to struct cpuinfo_topology") - tip: x86/cpu: Prepend 0x to the hex values in cpu_debug_show() cpufreq: intel_pstate: Avoid SMP calls to get cpu-type perf/x86/intel: Use cache cpu-type for hybrid PMU selection x86/cpu: Remove get_this_hybrid_cpu_*() v5: https://lore.kernel.org/r/20241211-add-cpu-type-v5-0-2ae010f50370@linux.intel.com - Replace usages of get_this_hybrid_cpu_native_id() with its cached value in CPU topology structure. - s/x86_match_cpu_type/x86_match_vendor_cpu_type and add vendor checks in the function. - Some cleanups in intel_pstate.c. - Collected tags. - Rebased to v6.13-rc1. v4: https://lore.kernel.org/r/20240930-add-cpu-type-v4-0-104892b7ab5f@linux.intel.com - Series doesn't apply to upstream cleanly anymore, rebased to v6.12-rc1, resolved the merge conflict in files: arch/x86/include/asm/cpu_device_id.h arch/x86/kernel/cpu/common.c - Remove redundant "hw_" in intel_hw_native_model_id(). v3: https://lore.kernel.org/r/20240815-add-cpu-type-v3-0-234162352057@linux.intel.com - Add a patch to prepend "0x" to hex values in cpu_debug_show() (Borislav). - Add support to to also get Intel Native Model ID (Dapeng). - Keep similar models together in the affected processor list (Josh). - Add a comparison of .init.data in commit message for cpu_vuln_blacklist before and after decluttering patch for affected processor list (Josh). - Drop the debugfs file reference in the commit message (Borislav). - s/cpu_type/hw_cpu_type/ (Borislav). - Add a union for hw_cpu_type for easy retrieval of intel_core_type and intel_native_model_id. - Updated commit messages, collected tags. - Rebased to v6.11-rc3. Note, I will be off work till Tuesday, will reply to any comments then. v2: https://lore.kernel.org/r/20240627-add-cpu-type-v2-0-f927bde83ad0@linux.intel.com - Move CPU-type to the end of the CPU topology structure (Andrew). - Use c->cpuid_level instead of cpuid_eax(0) (Andrew). - Move CPU-type enum out of ifdef CONFIG_NUMA (kernel test robot). - Rename cpu_type to hw_cpu_type (Borislav). - Explain replacing get_this_hybrid_cpu_type() with topology_hw_cpu_type() in the commit message (Dave). - Fix the alignment in cpu_vuln_whitelist (Andrew). - Add the obj compare note in the commit message (Dave/Tony). - s/X86_CPU_TYPE_INTEL_ATOM/ATOM/ in cpu_vuln_whitelist (Dave). v1: https://lore.kernel.org/r/20240617-add-cpu-type-v1-0-b88998c01e76@linux.intel.com Hi, This series adds support for CPU-type (CPUID.1A.EAX[31-24] on Intel) to differentiate between hybrid variants P+E, P-only, E-only that share the same Family/Model/Stepping. One of the use case for CPU-type is the affected CPU table for CPU vulnerabilities, which can now use the CPU-type to filter the unaffected variants. * Patch 1 fixes a minor formatting issue in cpu_debug_show(). * Patch 2 adds hardware cpu-type to CPU topology structure and introduces topology_hw_cpu_type(). * Patch 3-5 replaces usages of get_this_hybrid_cpu_type() with topology_hw_cpu_type(). * Patch 6-8 Updates CPU-matching infrastructure to use CPU-type. * Patch 9 cleans up the affected CPU list. * Patch 10 uses the CPU-type to exclude P-only parts from the RFDS affected list. Signed-off-by: Pawan Gupta <pawan.kumar.gupta@linux.intel.com> --- Pawan Gupta (4): x86/cpu: Name CPU matching macro more generically (and shorten) x86/cpu: Add cpu_type to struct x86_cpu_id x86/cpu: Update x86_match_cpu() to also use cpu-type x86/rfds: Exclude P-only parts from the RFDS affected list .../admin-guide/hw-vuln/reg-file-data-sampling.rst | 8 -- arch/x86/include/asm/cpu_device_id.h | 115 ++++++++------------- arch/x86/kernel/cpu/common.c | 7 +- arch/x86/kernel/cpu/match.c | 30 ++++++ include/linux/mod_devicetable.h | 2 + 5 files changed, 80 insertions(+), 82 deletions(-) --- base-commit: 4f2a0b765c9731d2fa94e209ee9ae0e96b280f17 change-id: 20240617-add-cpu-type-4d5e47efc117 Best regards,