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

From: Ilpo Järvinen
Date: Wed Mar 13 2024 - 07:38:08 EST


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.


--
i.