Re: [PATCH v2 02/13] selftests/resctrl: Calculate resctrl FS derived mem bw over sleep(1) only

From: Ilpo Järvinen
Date: Mon Mar 25 2024 - 11:37:30 EST


On Fri, 22 Mar 2024, Reinette Chatre wrote:
> On 3/22/2024 5:11 AM, Ilpo Järvinen wrote:
> > On Tue, 19 Mar 2024, Reinette Chatre wrote:
> >> On 3/11/2024 6:52 AM, Ilpo Järvinen wrote:

> >>> + * Return: = 0 on success. < 0 on failure.
> >>> + */
> >>> +static int get_mem_bw_imc(char *bw_report, float *bw_imc)
> >>> +{
> >>> + float reads, writes, of_mul_read, of_mul_write;
> >>> + int imc, j;
> >>> +
> >>> + /* Start all iMC counters to log values (both read and write) */
> >>> + reads = 0, writes = 0, of_mul_read = 1, of_mul_write = 1;
> >>>
> >>> /*
> >>> * Get results which are stored in struct type imc_counter_config
> >
> >>> @@ -696,7 +725,6 @@ int resctrl_val(const struct resctrl_test *test,
> >>> struct resctrl_val_param *param)
> >>> {
> >>> char *resctrl_val = param->resctrl_val;
> >>> - unsigned long bw_resc_start = 0;
> >>
> >> In the current implementation the first iteration's starting measurement
> >> is, as seen above, 0 ... which makes the first measurement unreliable
> >> and dropped for both the MBA and MBM tests. In this enhancement, the
> >> first measurement is no longer skewed so much so I wonder if this enhancement
> >> can be expanded to the analysis phase where first measurement no longer
> >> needs to be dropped?
> >
> > In ideal world, yes, but I'll have to check the raw numbers. My general
> > feel is that the numbers tend to converge slowly with more iterations
> > being run so the first iteration might still be "off" by quite much (this
> > is definitely the case with CAT tests iterations but I'm not entirely sure
> > any more how it is with other selftests).
>
> >From what I can tell the CAT test is not dropping any results. It looks
> to me that any "settling" is and should be handled in the test before
> the data collection starts.

It doesn't, but the "settling" is there in the raw numbers. I've
considered adding warm-up test(s) before the actual runs to improve the
situation but there's just so many thing still to do...

--
i.