Re: [PATCH v2 08/13] selftests/resctrl: Add ->init() callback into resctrl_val_param

From: Maciej Wieczor-Retman
Date: Wed Mar 13 2024 - 09:54:18 EST


On 2024-03-13 at 13:37:51 +0200, Ilpo Järvinen wrote:
>On Wed, 13 Mar 2024, Maciej Wieczor-Retman wrote:
>> On 2024-03-13 at 11:15:30 +0100, Maciej Wieczor-Retman wrote:
>> >On 2024-03-11 at 15:52:25 +0200, Ilpo Järvinen wrote:
>> >>diff --git a/tools/testing/selftests/resctrl/cmt_test.c b/tools/testing/selftests/resctrl/cmt_test.c
>> >>index 241c0b129b58..e79eca9346f3 100644
>> >>--- a/tools/testing/selftests/resctrl/cmt_test.c
>> >>+++ b/tools/testing/selftests/resctrl/cmt_test.c
>> >>@@ -16,6 +16,17 @@
>> >> #define MAX_DIFF 2000000
>> >> #define MAX_DIFF_PERCENT 15
>> >>
>> >>+#define CON_MON_LCC_OCCUP_PATH \
>> >>+ "%s/%s/mon_groups/%s/mon_data/mon_L3_%02d/llc_occupancy"
>> >>+
>> >>+static int set_cmt_path(const struct resctrl_val_param *param, int domain_id)
>> >>+{
>> >>+ sprintf(llc_occup_path, CON_MON_LCC_OCCUP_PATH, RESCTRL_PATH,
>> >>+ param->ctrlgrp, param->mongrp, domain_id);
>> >>+
>> >>+ return 0;
>> >>+}
>> >>+
>> >
>> >Is there an option to make this function (and the set_mbm_path()) global through
>> >the resctrl.h?
>> >
>> >I'd like to use it in my SNC series [1] for looping over different nodes and
>> >that requires changing the paths during the measure phase of the tests and that
>> >part is currently in cache.c:measure_llc_resctrl().
>> >
>> >Or would you suggest some other way of changing these paths in cache?
>> >
>>
>> +forgot to add the link :b
>>
>> [1] https://lore.kernel.org/all/cover.1709721159.git.maciej.wieczor-retman@xxxxxxxxx/
>
>Perhaps ->init() should just prepare an array of filenames to read from
>to support SNC. That would keep the filename preparations out of the
>measurement period.
>
>It feels slightly hacky to have an array of files but I cannot think of
>anything else that would be cleaner and would not require creating the
>filenames during the actual test.

So the array of names would be a part of "struct resctrl_val_param"?

It would have to be dynamically allocated too before running the tests.

I kinda agree, creating filenames during measurements messes the whole
separation idea between setup and measuring. And as you said there are like 4
nodes max so not much memory would be wasted there.

I can experiment with it and try to add it in my series - since it's much more
tied to SNC. Unless you see it'd better fit here then that's fine with me too.

>
>
>--
> i.


--
Kind regards
Maciej Wieczór-Retman