On Thu, Jul 14, 2022 at 2:41 PM Marco Elver elver@google.com wrote:
On Thu, 14 Jul 2022 at 22:23, Daniel Latypov dlatypov@google.com wrote:
On Thu, May 19, 2022 at 6:24 AM Marco Elver elver@google.com wrote:
I'd keep it simple for now, and remove both lines i.e. make non-strict the default. It's easy to just run with --kconfig_add CONFIG_KCSAN_STRICT=y, along with other variations. I know that rcutoruture uses KCSAN_STRICT=y by default, so it's already getting coverage there. ;-)
David decided to drop the parent patch (the new QEMU config) now --qemu_args was merged into the kunit tree. Did we want a standalone v2 of this patch?
Based on Marco's comments, we'd change:
- drop CONFIG_KCSAN_STRICT=y per this comment [1]
- drop CONFIG_KCSAN_WEAK_MEMORY per previous comments
Then for --qemu_args changes:
- add CONFIG_SMP=y explicitly to this file
- update the comment to show to include --qemu_args="-smp 8"
Does this sound right?
Yes, sounds good to me, and thanks for remembering this. I'd prefer a close-to-default config.
[1] Note: there's also patches in kunit now so you could do --kconfig_add=CONFIG_KCSAN_STRICT=n to explicitly disable it. This wasn't possible before. Does that change what we want for the default?
I'd just have KCSAN_STRICT=n by default, and if desired it can be added per kconfig_add just the same way.
Ack. So concretely, so then a final result like this?
$ cat kernel/kcsan/.kunitconfig # 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 --qemu_args='-smp 8'
CONFIG_KUNIT=y
CONFIG_DEBUG_KERNEL=y
CONFIG_KCSAN=y CONFIG_KCSAN_KUNIT_TEST=y
# Need some level of concurrency to test a concurrency sanitizer. CONFIG_SMP=y
# 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