Re: [PATCH v6 2/2] selftests/resctrl: Discover SNC kernel support and adjust messages
From: Reinette Chatre
Date: Tue Dec 03 2024 - 18:31:15 EST
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"?
> +
> + if (!stat(node_path, &statbuf))
> + return 1;
> +
> + return 0;
> +}
Reinette