On Tue, Nov 21, 2023 at 06:57:53PM -0800, [email protected] wrote:
> From: Alison Schofield <[email protected]>
>
> The 4-way XOR region as defined in this test uses a root decoder that
> is created using an improperly defined CFMWS. The problem with the
> CFMWS is that Host Bridges repeat in the target list like this:
> { 0, 1, 0, 1 }.
>
> Stop using that root decoder and create a 4-way XOR region using an
> x2 root decoder that supports XOR arithmetic.
>
> The test passes prior to this patch but there is an interleave check [1]
> introduced in the CXL region driver that will expose the bad interleave
> this test creates via dev_dbg() messages like this:
>
> [ ] cxl_core:cxl_region_attach:1808: cxl decoder17.0: Test
> cxl_calc_interleave_pos(): fail test_pos:4 cxled->pos:2
> [ ] cxl_core:cxl_region_attach:1808: cxl decoder18.0: Test
> cxl_calc_interleave_pos(): fail test_pos:5 cxled->pos:3
>
> Note that the CFMWS's are defined in the kernel cxl-test module, so a
> kernel patch removing the bad CFMWS will also need to be merged, but
> that cleanup can follow this patch. Also note that the bad CFMWS is not
> used in the default cxl-test environment. It is only visible when the
> cxl-test module is loaded using the param interleave_arithmetic=1. It is
> a special config that provides the XOR math CFMWS's for this test.
>
> [1]
> https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=a3e00c964fb943934af916f48f0dd43b5110c866
>
Fixes: 05486f8bf154 ("cxl/test: add cxl_xor_region test")
> Signed-off-by: Alison Schofield <[email protected]>
> ---
>
> Vishal - I'm hoping you will merge this in ndctl v79 even though the
> exposure with the kernel doesn't happen until kernel 6.7. This way
> users of cxl-test are not learning to ignore the interleave calc
> warnings.
>
> Also, hopefully I have not introduced any new shell issues, but
> I know this unit test has existing warnings. Can we do a shell
> cleanup in a follow-on patchset across the CXL tests?
> (and not last minute for your ndctl release)
>
>
> test/cxl-xor-region.sh | 14 +++++---------
> 1 file changed, 5 insertions(+), 9 deletions(-)
>
snip
>