Marc Herbert wrote:
> 
> Thanks to the patience and help from the Intel people on these lists, I
> think I finally found all the CONFIG_* missing in ndctl.git/README.md
> 
> I tested, fixed and published two CONFIG_ fragments here:
> 
> https://github.com/pmem/run_qemu/tree/main/.github/workflows/
> 
> - cxl-test.cfg:  CONFIG_ fragment enough for: meson test --suite=cxl
> - nfit-test.cfg: CONFIG_ fragment enough for:
>     meson test --suite=ndctl:ndctl and --suite=ndctl:dax
> 
> In my ideal world, these fragments would live in ndctl.git/ directly
> (instead of run_qemu.git/) and ndctl.git/README.md would point at
> them. This would make them _testable_ by any automation. Like this
> automation: https://github.com/pmem/run_qemu/actions
> 
> As a second best and much quicker fix, "someone" could simply add to
> ndctl.git/README.md the missing CONFIG_ found in these new .cfg files
> of mine.

Send that patch and I will ack it. The linked configs look good to me.

> Unfortunately, that "someone" cannot be me because I don't know or don't
> understand precisely what many of these CONFIG_s mean: the files in
> https://github.com/pmem/run_qemu/tree/5723a592/.github/workflows/ come
> from "educated" guesses and a lot of trial and error. But these fragments
> pass the tests, so they're already much better than what is in the
> current README.md!
> 
> I can already tell that some of these are tricky. For instance,
> CONFIG_MEMORY_FAILURE=y is required for dax-ext4.sh and dax-xfs.sh to
> trigger the error message "Sending SIGBUS due to hardware memory
> corruption" (more context in
> https://lore.kernel.org/nvdimm/20250515021730.1201996-3-marc.herb...@linux.intel.com/T/#u)
> 
> BUT, these tests can also pass without CONFIG_MEMORY_FAILURE=y and
> without triggering that error message! So... CONFIG_MEMORY_FAILURE=y is
> not required? Or, it is required but there a bug in that test? Or,
> either choice is fine but CONFIG_MEMORY_FAILURE=y is better because
> it provides more coverage? I don't have that sort of validation expertise
> and it would take me a long time to learn it for every missing CONFIG_

The goal is to excercise memory_failure(). The fact that the test passes
with memory_failure() disabled is not that interesting. Could the test
be improved to fail when memory_failure() is disabled? Probably. Is that
useful? Probably not.

Those build time checks are just a more forceful way of ensuring the
expected test environment. I think config fragments in the README are
sufficient.

Reply via email to