On Fri, 27 Jul 2018 13:25:33 +0200 Thomas Huth <th...@redhat.com> wrote:
> On 07/27/2018 11:00 AM, Greg Kurz wrote: > > On Fri, 27 Jul 2018 10:18:14 +0200 > > Thomas Huth <th...@redhat.com> wrote: > > > >> On 07/27/2018 09:54 AM, Greg Kurz wrote: > >>> On Fri, 27 Jul 2018 15:27:24 +1000 > >>> David Gibson <da...@gibson.dropbear.id.au> wrote: > >>> > >>>> On Wed, Jul 25, 2018 at 04:45:26PM +0200, Greg Kurz wrote: > >>>>> Commit b585395b655 fixed a regression introduced by some recent changes > >>>>> in the XICS code, that was causing QEMU to crash instantly during CPU > >>>>> hotplug with KVM. This is typically the kind of bug we'd like our > >>>>> test suite to detect before it gets merged. Unfortunately, the current > >>>>> tests run with '-machine accel=qtest' and don't exercise KVM specific > >>>>> paths in QEMU. > >>>>> > >>>>> This patch hence changes add_pseries_test_case() to launch QEMU with > >>>>> '-machine accel=kvm' if KVM is available. > >>>>> > >>>>> A notable consequence is that the guest will execute SLOF, but for some > >>>>> reasons SLOF sometimes hits a program exception. This causes the guest > >>>>> to loop forever and the test to be stuck. Since we don't need the guest > >>>>> to be truely running, let's pass -S to QEMU to avoid that. > >>>>> > >>>>> Also disable machine capabilities that could be unavailable in KVM, eg, > >>>>> when using PR KVM. > >>>>> > >>>>> Signed-off-by: Greg Kurz <gr...@kaod.org> > >>>> > >>>> I'm pretty sure trying to change the accelerator on a qtest test just > >>>> doesn't make sense. We'd need a different approach for testing cpu > >>>> hotplug against kvm & tcg backends. > >>>> > >>> > >>> The test starts QEMU, triggers the CPU hotplug code with a QMP command > >>> and checks the command didn't fail (or QEMU didn't crash, as it would > >>> have before commit b585395b655a)... I really don't understand what > >>> is wrong with that... Please elaborate. > >> > >> For a "real" test, I think you'd need a guest OS that is reacting to the > >> hot plug events. So maybe this should rather be done in the avocado > >> framework instead? > >> > > > > The intent isn't a "real" test actually, but just to exercise the XICS-KVM > > paths in QEMU that get called during CPU hotplug. This cannot be achieved > > with the qtest accelerator. > > > > This patch would have revealed the regression in b585395b655a right away, > > with the simple 'make check' developers are expected to run before posting. > > > > OK, that's fair. I think what rather bugs me here is that you start QEMU > with -S to work around something that sounds like real bug in SLOF ... > any chance that you could fix that bug in SLOF instead of using -S here? > Yeah, -S is a workaround indeed. I've chosen to go that way because I couldn't find any impact on the hotplug path, but I may have overlooked something, so I'm not surprised by your request :) I guess that's fair too and I'll investigate. Cheers, -- Greg > Thomas