On 19/11/2019 02:00, David Gibson wrote: > On Fri, Nov 08, 2019 at 05:47:59PM +0100, Greg Kurz wrote: >> On Fri, 8 Nov 2019 16:40:35 +0100 >> Laurent Vivier <lviv...@redhat.com> wrote: >> >>> Commit 29cb4187497d sets by default the VSMT to smp_threads, >>> but older kernels (< 4.13) don't support that. >>> >>> We can reasonably restore previous behavior with this kernel >>> to allow to run QEMU as before. >>> >>> If VSMT is not supported, VSMT will be set to MAX(8, smp_threads) >>> as it is done for previous machine types (< pseries-4.2) >>> >> >> It is usually _bad_ to base the machine behavior on host capabilities. >> What happens if we migrate between an older kernel and a recent one ? > > Right. We're really trying to remove instaces of such behaviour. I'd > prefer to completely revert Greg's original patch than to re-introduce > host configuration dependency into the guest configuration.. > >> I understand this is to fix tests/migration-test on older kernels. >> Couldn't this be achieved with migration-test doing some introspection >> and maybe pass vsmt=8 on the QEMU command line ? > > ..adjusting the test case like this might be a better idea, though. > > What's the test setup where we're using the old kernel? I really only > applied the original patch on the guess that we didn't really care > about kernels that old. The fact you've hit this in practice makes me > doubt that assumption. >
The way to fix the tests is to add "-smp threads=8" on the command line (for all tests, so basically in qtest_init_without_qmp_handshake(), and it will impact all the machine types), and we have to check if it is ppc64/pseries to do that, and there it becomes a little bit complicated for a so small piece of code. So I think the best to do is to revert Greg's patch. Thanks, Laurent