On 2024-12-03 at 15:30:56 -0800, Reinette Chatre wrote:
Hi Maciej,
On 12/2/24 3:08 AM, Maciej Wieczor-Retman wrote:
diff --git a/tools/testing/selftests/resctrl/resctrlfs.c b/tools/testing/selftests/resctrl/resctrlfs.c index 50561993d37c..d0a5c0f78397 100644 --- a/tools/testing/selftests/resctrl/resctrlfs.c +++ b/tools/testing/selftests/resctrl/resctrlfs.c @@ -949,3 +949,35 @@ unsigned int count_bits(unsigned long n) return count; }
+/**
- snc_kernel_support - Check for existence of mon_sub_L3_00 file that indicates
- SNC resctrl support on the kernel side.
- Return: 0 if not supported, 1 if SNC is disabled or SNC discovery is
- unreliable or SNC is both enabled and supported.
- */
+int snc_kernel_support(void) +{
- char node_path[PATH_MAX];
- struct stat statbuf;
- int ret;
- ret = snc_nodes_per_l3_cache();
- /*
* If SNC is disabled then its kernel support isn't important. If SNC
* got disabled because the discovery process was unreliable the
* snc_unreliable variable was set. It can be used to verify the SNC
* discovery reliability elsewhere in the selftest.
*/
- if (ret == 1)
return ret;
- snprintf(node_path, sizeof(node_path), "%s/%s/%s", RESCTRL_PATH, "mon_data",
"mon_L3_00/mon_sub_L3_00");
The patch looks good. I am curious why the string constants are split in two and not, for example, a single constant of "mon_data/mon_L3_00/mon_sub_L3_00"?
I think I introduced this inconsistency by accident when trying to follow the example of other snprintf calls. You're right, there's not reason it can't be just "mon_data/mon_L3_00/mon_sub_L3_00". I'll fix it in the next version. Thanks :)
- if (!stat(node_path, &statbuf))
return 1;
- return 0;
+}
Reinette