On Wed, May 18, 2022 at 12:32 AM 'David Gow' via KUnit Development kunit-dev@googlegroups.com wrote:
Add a new QEMU config for kunit_tool, x86_64-smp, which provides an 8-cpu SMP setup. No other kunit_tool configurations provide an SMP setup, so this is the best bet for testing things like KCSAN, which require a multicore/multi-cpu system.
The choice of 8 CPUs is pretty arbitrary: it's enough to get tests like KCSAN to run with a nontrivial number of worker threads, while still working relatively quickly on older machines.
Since it's arbitrary, I somewhat prefer the idea of leaving up entirely to the caller i.e. $ kunit.py run --kconfig_add=CONFIG_SMP=y --qemu_args '-smp 8'
We could add CONFIG_SMP=y to the default qemu_configs/*.py and do $ kunit.py run --qemu_args '-smp 8' but I'd prefer the first, even if it is more verbose.
Marco, does this seem reasonable from your perspective?
I think that a new --qemu_args would be generically useful for adhoc use and light enough that people won't need to add qemu_configs much. E.g. I can see people wanting multiple NUMA nodes, a specific -cpu, and so on.