On Wed, Nov 20, 2019 at 03:28:19PM +0100, Laurent Vivier wrote: > On 20/11/2019 12:41, David Gibson wrote: > > On Wed, Nov 20, 2019 at 12:28:19PM +0100, Laurent Vivier wrote: > >> On 20/11/2019 10:00, Laurent Vivier wrote: > >>> On 20/11/2019 05:36, David Gibson wrote: > >>>> On Tue, Nov 19, 2019 at 04:45:26PM +0100, Greg Kurz wrote: > >>>>> On Tue, 19 Nov 2019 15:06:51 +0100 > >>>>> Laurent Vivier <lviv...@redhat.com> wrote: > >>>>> > >>>>>> 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 > >>>>> > >>>>> Ohhh... it isn't possible to initialize Qtest with machine specific > >>>>> properties ? That's a bit unfortunate :-\ > >>>> > >>>> Uhh... I don't see why we can't. Couldn't we just put either -machine > >>>> vsmt=8 or -smp 8 into the cmd_src / cmd_dst printfs() in the > >>>> strcmp(arch, "ppc64") case? > >>> > >>> Yes, but we need to do that to all other tests that fail. test-migration > >>> is not the only one impacted by the problem (we have also pxe-test), so > >>> it's why I thought to fix the problem in a generic place. > >>> > >>> But it seems there are only this couple of tests that are impacted so I > >>> can modify both instead. I think only tests that really start CPU have > >>> the problem. > >>> > >>> I'm going to send a patch to fix that. > >> > >> And again, it's a little bit more complicated than expected: setting > >> vsmt to 8 works only with kvm_hv, but breaks in case of TCG or kvm_pr. > >> So the test must check what is in use... > > > > Ugh, yeah, that's getting too ugly. I think the feasible options are > > either to revert the patch, or just say that upstream qemu no longer > > supports a RHEL7 host. > > In I was mistakenly using "-smp threads=8", with "-M vsmt=8" it works > with TCG and KVM PR (with a warning).
Ah, yes, that's not so bad. -- David Gibson | I'll have my music baroque, and my code david AT gibson.dropbear.id.au | minimalist, thank you. NOT _the_ _other_ | _way_ _around_! http://www.ozlabs.org/~dgibson
signature.asc
Description: PGP signature