Re: [PATCH v6 2/2] selftests/resctrl: Discover SNC kernel support and adjust messages
From: Maciej Wieczor-Retman
Date: Wed Dec 04 2024 - 07:05:09 EST
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
--
Kind regards
Maciej Wieczór-Retman