arch/x86/kernel/cpu/resctrl/monitor.c | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-)
topology_num_nodes_per_package() reports values greater than one on
certain AMD systems resulting in snc_get_config() printing the confusing
message "CoD enabled system? Resctrl not supported".
Add a check for Intel systems before looking at topology.
Fixes: 59674fc9d0bf ("x86/resctrl: Fix SNC detection")
Reported-by: Babu Moger Babu <babu.moger@amd.com>
Signed-off-by: Tony Luck <tony.luck@intel.com>
Tested-by: Babu Moger Babu <babu.moger@amd.com>
---
arch/x86/kernel/cpu/resctrl/monitor.c | 7 ++++++-
1 file changed, 6 insertions(+), 1 deletion(-)
diff --git a/arch/x86/kernel/cpu/resctrl/monitor.c b/arch/x86/kernel/cpu/resctrl/monitor.c
index 9bd87bae4983..59215fef3924 100644
--- a/arch/x86/kernel/cpu/resctrl/monitor.c
+++ b/arch/x86/kernel/cpu/resctrl/monitor.c
@@ -377,7 +377,12 @@ static const struct x86_cpu_id snc_cpu_ids[] __initconst = {
static __init int snc_get_config(void)
{
- int ret = topology_num_nodes_per_package();
+ int ret;
+
+ if (boot_cpu_data.x86_vendor != X86_VENDOR_INTEL)
+ return 1;
+
+ ret = topology_num_nodes_per_package();
if (ret > 1 && !x86_match_cpu(snc_cpu_ids)) {
pr_warn("CoD enabled system? Resctrl not supported\n");
--
2.53.0
+ Reinette:
On 4/28/26 18:26, Tony Luck wrote:
> topology_num_nodes_per_package() reports values greater than one on
> certain AMD systems resulting in snc_get_config() printing the confusing
> message "CoD enabled system? Resctrl not supported".
>
> Add a check for Intel systems before looking at topology.
>
> Fixes: 59674fc9d0bf ("x86/resctrl: Fix SNC detection")
> Reported-by: Babu Moger Babu <babu.moger@amd.com>
Should be:
Reported-by: Babu Moger <babu.moger@amd.com>
> Signed-off-by: Tony Luck <tony.luck@intel.com>
> Tested-by: Babu Moger Babu <babu.moger@amd.com>
Should be:
Tested-by: Babu Moger <babu.moger@amd.com>
> ---
> arch/x86/kernel/cpu/resctrl/monitor.c | 7 ++++++-
> 1 file changed, 6 insertions(+), 1 deletion(-)
>
> diff --git a/arch/x86/kernel/cpu/resctrl/monitor.c b/arch/x86/kernel/cpu/resctrl/monitor.c
> index 9bd87bae4983..59215fef3924 100644
> --- a/arch/x86/kernel/cpu/resctrl/monitor.c
> +++ b/arch/x86/kernel/cpu/resctrl/monitor.c
> @@ -377,7 +377,12 @@ static const struct x86_cpu_id snc_cpu_ids[] __initconst = {
>
> static __init int snc_get_config(void)
> {
> - int ret = topology_num_nodes_per_package();
> + int ret;
> +
> + if (boot_cpu_data.x86_vendor != X86_VENDOR_INTEL)
> + return 1;
> +
> + ret = topology_num_nodes_per_package();
>
> if (ret > 1 && !x86_match_cpu(snc_cpu_ids)) {
> pr_warn("CoD enabled system? Resctrl not supported\n");
© 2016 - 2026 Red Hat, Inc.