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? Thomas