]> git.ipfire.org Git - thirdparty/kernel/linux.git/commit
selftests/resctrl: Fix a division by zero error on Hygon
authorXiaochen Shen <shenxiaochen@open-hieco.net>
Wed, 17 Dec 2025 03:04:53 +0000 (11:04 +0800)
committerShuah Khan <skhan@linuxfoundation.org>
Fri, 9 Jan 2026 23:48:11 +0000 (16:48 -0700)
commit671ef08d9455f5754d1fc96f5a14e357d6b80936
tree96d38fb4c07a902b83a3f0e21cdd617f66ede4da
parent3e6ad272bb8b3199bad952e7b077102af2d8df03
selftests/resctrl: Fix a division by zero error on Hygon

Change to adjust effective L3 cache size with SNC enabled change
introduced the snc_nodes_per_l3_cache() function to detect the Intel
Sub-NUMA Clustering (SNC) feature by comparing #CPUs in node0 with #CPUs
sharing LLC with CPU0. The function was designed to return:
  (1) >1: SNC mode is enabled.
  (2)  1: SNC mode is not enabled or not supported.

However, on certain Hygon CPUs, #CPUs sharing LLC with CPU0 is actually
less than #CPUs in node0. This results in snc_nodes_per_l3_cache()
returning 0 (calculated as cache_cpus / node_cpus).

This leads to a division by zero error in get_cache_size():
  *cache_size /= snc_nodes_per_l3_cache();

Causing the resctrl selftest to fail with:
  "Floating point exception (core dumped)"

Fix the issue by ensuring snc_nodes_per_l3_cache() returns 1 when SNC
mode is not supported on the platform.

Updated commit log to fix commit has issues:
Shuah Khan <skhan@linuxfoundation.org>

Link: https://lore.kernel.org/r/20251217030456.3834956-2-shenxiaochen@open-hieco.net
Fixes: a1cd99e700ec ("selftests/resctrl: Adjust effective L3 cache size with SNC enabled")
Signed-off-by: Xiaochen Shen <shenxiaochen@open-hieco.net>
Reviewed-by: Reinette Chatre <reinette.chatre@intel.com>
Reviewed-by: Fenghua Yu <fenghuay@nvidia.com>
Signed-off-by: Shuah Khan <skhan@linuxfoundation.org>
tools/testing/selftests/resctrl/resctrlfs.c