Re: [PATCH kvm-unit-tests 17/17] x86/unittests: add intel-iommu test

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Mon, Nov 07, 2016 at 01:06:27PM -0500, Peter Xu wrote:
> On Fri, Nov 04, 2016 at 06:46:23PM +0100, Andrew Jones wrote:
> > On Wed, Oct 26, 2016 at 03:47:20PM +0800, Peter Xu wrote:
> > > I used pc-q35-2.7 instead of default q35 since I'd better make sure both
> > > QEMU 2.7/2.8 can run the test, which is to at least satisfy the
> > > following matrix:
> > > 
> > >   |----------+-----------+------------|
> > >   | versions | KVM < 4.7 | KVM >= 4.7 |
> > >   |----------+-----------+------------|
> > >   | QEMU 2.7 |           |            |
> > >   | QEMU 2.8 |           |            |
> > >   |----------+-----------+------------|
> > > 
> > > If using default q35, QEMU2.8+KVM<4.7 will fail to run.
> > > 
> > > Signed-off-by: Peter Xu <peterx@xxxxxxxxxx>
> > > ---
> > >  x86/unittests.cfg | 7 +++++++
> > >  1 file changed, 7 insertions(+)
> > > 
> > > diff --git a/x86/unittests.cfg b/x86/unittests.cfg
> > > index f760d8f..d59cf68 100644
> > > --- a/x86/unittests.cfg
> > > +++ b/x86/unittests.cfg
> > > @@ -206,3 +206,10 @@ extra_params = -cpu kvm64,hv_time,hv_synic,hv_stimer -device hyperv-testdev
> > >  file = hyperv_clock.flat
> > >  smp = 2
> > >  extra_params = -cpu kvm64,hv_time
> > > +
> > > +[intel_iommu]
> > > +file = intel-iommu.flat
> > > +arch = x86_64
> > > +timeout = 30
> > > +smp = 4
> > > +extra_params = -M pc-q35-2.7,kernel-irqchip=split -device intel-iommu,intremap=on -device edu
> > > -- 
> > > 2.7.4
> > > 
> > 
> > Hmm, this is the first we've worried about this in kvm-unit-tests (And
> > I'm not sure we should start). Usually we just want the tests to work
> > with latest KVM and latest QEMU, or to graceful fail with
> > report_xfail/skip/abort when it can determine that it's missing something
> > it needs.
> 
> For this test, the latest command line should be:
> 
>   -M q35,kernel-irqchip=split -device intel-iommu,intremap=on -device edu
> 
> However it will fail if kernel version <4.7 (without x2apic supported
> KVM). No chance for a report_skip().
> 
> I can use eim=off to avoid that check, however, if with "eim=off", we have:
> 
>   -M q35,kernel-irqchip=split -device intel-iommu,intremap=on,eim=off -device edu
> 
> It requires QEMU to be latest (>2.8). Otherwise QEMU will report "eim
> property not found" and we lost chance to report as well.
> 
> So, I just chose to use pc-q35-2.7 here. Not sure whether this is a
> good idea.

I think we just shouldn't care. Either this test is run on the latest
kernel and qemu, or it will fail. Hopefully something ends up in test.log
that indicates it failed due to an old kernel or old qemu. Old qemu is
clear from the "eim property not found"

Alternatively we can build support into runtime to capture kernel, qemu
versions and compare them against new unittests.cfg {kvm,qemu}_minver
fields. That would be a different series though, and will require
extending mkstandalone as well. Feel free to add it to your TODO. If you
do, then I hope you like Bash :-)

Thanks,
drew
--
To unsubscribe from this list: send the line "unsubscribe kvm" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html



[Index of Archives]     [KVM ARM]     [KVM ia64]     [KVM ppc]     [Virtualization Tools]     [Spice Development]     [Libvirt]     [Libvirt Users]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite Questions]     [Linux Kernel]     [Linux SCSI]     [XFree86]
  Powered by Linux