On Wed, May 18, 2022 at 11:36 PM Marco Elver wrote: > > On Wed, 18 May 2022 at 17:31, Daniel Latypov wrote: > > > > On Wed, May 18, 2022 at 12:32 AM 'David Gow' via KUnit Development > > 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? > > Either way works. But I wouldn't mind a sane default though, where > that default can be overridden with custom number of CPUs. > I tend to agree that having both would be nice: I think there are enough useful "machine configs" that trying to maintain, e.g, a 1:1 mapping with kernel architectures is going to leave a bunch of things on the table, particularly as we add more tests for, e.g., drivers and specific CPU models. The problem, of course, is that the --kconfig_add flags don't allow us to override anything explicitly stated in either the kunitconfig or qemu_config (and I imagine there could be problems with --qemu_config, too). > > 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.