On Wed, 18 Oct 2023, Ilpo Järvinen wrote: > Commit 20d96b25cc4c ("selftests/resctrl: Fix schemata write error > check") exposed a problem in feature detection logic in MBM selftest. > If schemata does not support MB:x=x entries, the schemata write to > initialize 100% memory bandwidth allocation in mbm_setup() will now > fail with -EINVAL due to the error handling corrected by the commit > 20d96b25cc4c ("selftests/resctrl: Fix schemata write error check"). > That commit just uncovers the failed write, it is not wrong itself. > > If MB:x=x is not supported by schemata, it is safe to assume 100% > memory bandwidth is always set. Therefore, the previously ignored error > does not make the MBM test itself wrong. > > Restore the previous behavior of MBM test by checking MB support before > attempting to write it into schemata which results in behavior > equivalent to ignoring the write error. > > Fixes: 20d96b25cc4c ("selftests/resctrl: Fix schemata write error check") > Signed-off-by: Ilpo Järvinen <ilpo.jarvinen@xxxxxxxxxxxxxxx> > Reviewed-by: Reinette Chatre <reinette.chatre@xxxxxxxxx> > --- It seems it's too early morning for me so I entirely forgot to describe the changes I made... doh. So here it is (nothing earth-shattering here really): v2: - Make checkpatch --strict happy. - Remove () that --strict called "extra". - Duplicate the referenced commit description in the changelog to follow the commit formatting guidelines. - Alter the wording at one of the references into the commit 20d96b25cc4c in order to avoid having to copy the description there too. - Added Reinette's rev-by. -- i. > tools/testing/selftests/resctrl/mbm_test.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/tools/testing/selftests/resctrl/mbm_test.c b/tools/testing/selftests/resctrl/mbm_test.c > index d3c0d30c676a..741533f2b075 100644 > --- a/tools/testing/selftests/resctrl/mbm_test.c > +++ b/tools/testing/selftests/resctrl/mbm_test.c > @@ -95,7 +95,7 @@ static int mbm_setup(struct resctrl_val_param *p) > return END_OF_TESTS; > > /* Set up shemata with 100% allocation on the first run. */ > - if (p->num_of_runs == 0) > + if (p->num_of_runs == 0 && validate_resctrl_feature_request("MB", NULL)) > ret = write_schemata(p->ctrlgrp, "100", p->cpu_no, > p->resctrl_val); > >