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...