Messages in this thread | | | Date | Wed, 18 May 2022 11:21:50 +0200 | From | Marco Elver <> | Subject | Re: [PATCH 2/2] kcsan: test: Add a .kunitconfig to run KCSAN tests |
| |
On Wed, May 18, 2022 at 03:32PM +0800, David Gow wrote: > Add a .kunitconfig file, which provides a default, working config for > running the KCSAN tests. Note that it needs to run on an SMP machine, so > to run under kunit_tool, the x86_64-smp qemu-based setup should be used: > ./tools/testing/kunit/kunit.py run --arch=x86_64-smp --kunitconfig=kernel/kcsan > > Signed-off-by: David Gow <davidgow@google.com>
Reviewed-by: Marco Elver <elver@google.com>
Thanks for adding this.
> --- > kernel/kcsan/.kunitconfig | 20 ++++++++++++++++++++ > 1 file changed, 20 insertions(+) > create mode 100644 kernel/kcsan/.kunitconfig > > diff --git a/kernel/kcsan/.kunitconfig b/kernel/kcsan/.kunitconfig > new file mode 100644 > index 000000000000..a8a815b1eb73 > --- /dev/null > +++ b/kernel/kcsan/.kunitconfig > @@ -0,0 +1,20 @@ > +# Note that the KCSAN tests need to run on an SMP setup. > +# Under kunit_tool, this can be done by using the x86_64-smp > +# qemu-based architecture: > +# ./tools/testing/kunit/kunit.py run --kunitconfig=kernel/kcsan --arch=x86_64-smp > + > +CONFIG_KUNIT=y > + > +CONFIG_DEBUG_KERNEL=y > + > +CONFIG_KCSAN=y > +CONFIG_KCSAN_KUNIT_TEST=y > + > +# Needed for test_barrier_nothreads > +CONFIG_KCSAN_STRICT=y > +CONFIG_KCSAN_WEAK_MEMORY=y
Note, KCSAN_STRICT implies KCSAN_WEAK_MEMORY.
Also, a bunch of the test cases' outcomes depend on KCSAN's "strictness". I think to cover the various combinations would be too complex, but we can just settle on testing KCSAN_STRICT=y.
The end result is the same, but you could drop the CONFIG_KCSAN_WEAK_MEMORY=y line, and let the latest KCSAN_STRICT defaults decide (I don't expect them to change any time soon).
If you want it to be more explicit, it's also fine leaving the CONFIG_KCSAN_WEAK_MEMORY=y line in.
> +# This prevents the test from timing out on many setups. Feel free to remove > +# (or alter) this, in conjunction with setting a different test timeout with, > +# for example, the --timeout kunit_tool option. > +CONFIG_KCSAN_REPORT_ONCE_IN_MS=100 > -- > 2.36.0.550.gb090851708-goog >
| |