diff mbox series

[kvm-unit-tests] ci/cirrus-ci-fedora.yml: Disable the "memory" test in the KVM job

Message ID 20230403112625.63833-1-thuth@redhat.com (mailing list archive)
State New, archived
Headers show
Series [kvm-unit-tests] ci/cirrus-ci-fedora.yml: Disable the "memory" test in the KVM job | expand

Commit Message

Thomas Huth April 3, 2023, 11:26 a.m. UTC
Two of the sub-tests are currently failing in the Fedora KVM job
on Cirrus-CI:

FAIL: clflushopt (ABSENT)
FAIL: clwb (ABSENT)

Looks like the features have been marked as disabled in the L0 host,
while the hardware supports them. Since neither VMX nor SVM have
intercept controls for the instructions, KVM has no way to enforce the
guest's CPUID model, so this test is failing now in this environment.
There's not much we can do here except for disabling the test here.

Signed-off-by: Thomas Huth <thuth@redhat.com>
---
 ci/cirrus-ci-fedora.yml | 1 -
 1 file changed, 1 deletion(-)

Comments

Sean Christopherson April 3, 2023, 3:24 p.m. UTC | #1
On Mon, Apr 03, 2023, Thomas Huth wrote:
> Two of the sub-tests are currently failing in the Fedora KVM job
> on Cirrus-CI:
> 
> FAIL: clflushopt (ABSENT)
> FAIL: clwb (ABSENT)
> 
> Looks like the features have been marked as disabled in the L0 host,
> while the hardware supports them. Since neither VMX nor SVM have
> intercept controls for the instructions, KVM has no way to enforce the
> guest's CPUID model, so this test is failing now in this environment.
> There's not much we can do here except for disabling the test here.
> 
> Signed-off-by: Thomas Huth <thuth@redhat.com>
> ---
>  ci/cirrus-ci-fedora.yml | 1 -
>  1 file changed, 1 deletion(-)
> 
> diff --git a/ci/cirrus-ci-fedora.yml b/ci/cirrus-ci-fedora.yml
> index 918c9a36..c83aff46 100644
> --- a/ci/cirrus-ci-fedora.yml
> +++ b/ci/cirrus-ci-fedora.yml
> @@ -35,7 +35,6 @@ fedora_task:
>          ioapic
>          ioapic-split
>          kvmclock_test
> -        memory

What if we fix the test by making it TCG-only?  None of the other instructions in
the test have intercepts, i.e. will also fail if the instructions are supported in
bare metal but not the test VM.

An alternative would be to force emulation when using KVM, but KVM doesn't currently
emulating pcommit (deprecated by Intel), clwb, or any of the fence instructions
(at least, not afaict; I'm somewhat surprised *fence isn't "required").

diff --git a/x86/unittests.cfg b/x86/unittests.cfg
index f324e32d..5afb5dad 100644
--- a/x86/unittests.cfg
+++ b/x86/unittests.cfg
@@ -185,6 +185,7 @@ arch = x86_64
 
 [memory]
 file = memory.flat
+accel = tcg
 extra_params = -cpu max
 arch = x86_64
Paolo Bonzini April 3, 2023, 4:24 p.m. UTC | #2
On 4/3/23 17:24, Sean Christopherson wrote:
> An alternative would be to force emulation when using KVM, but KVM doesn't currently
> emulating pcommit (deprecated by Intel), clwb, or any of the fence instructions
> (at least, not afaict; I'm somewhat surprised *fence isn't "required").
> 
> diff --git a/x86/unittests.cfg b/x86/unittests.cfg
> index f324e32d..5afb5dad 100644
> --- a/x86/unittests.cfg
> +++ b/x86/unittests.cfg
> @@ -185,6 +185,7 @@ arch = x86_64
>   
>   [memory]
>   file = memory.flat
> +accel = tcg
>   extra_params = -cpu max
>   arch = x86_64
> 

I think we should just drop the "CPUID bit non-present" case.

Paolo
Sean Christopherson April 3, 2023, 4:51 p.m. UTC | #3
On Mon, Apr 03, 2023, Paolo Bonzini wrote:
> On 4/3/23 17:24, Sean Christopherson wrote:
> > An alternative would be to force emulation when using KVM, but KVM doesn't currently
> > emulating pcommit (deprecated by Intel), clwb, or any of the fence instructions
> > (at least, not afaict; I'm somewhat surprised *fence isn't "required").
> > 
> > diff --git a/x86/unittests.cfg b/x86/unittests.cfg
> > index f324e32d..5afb5dad 100644
> > --- a/x86/unittests.cfg
> > +++ b/x86/unittests.cfg
> > @@ -185,6 +185,7 @@ arch = x86_64
> >   [memory]
> >   file = memory.flat
> > +accel = tcg
> >   extra_params = -cpu max
> >   arch = x86_64
> > 
> 
> I think we should just drop the "CPUID bit non-present" case.

Oh, yeah, that's even better.
diff mbox series

Patch

diff --git a/ci/cirrus-ci-fedora.yml b/ci/cirrus-ci-fedora.yml
index 918c9a36..c83aff46 100644
--- a/ci/cirrus-ci-fedora.yml
+++ b/ci/cirrus-ci-fedora.yml
@@ -35,7 +35,6 @@  fedora_task:
         ioapic
         ioapic-split
         kvmclock_test
-        memory
         pcid-asymmetric
         pcid-disabled
         pcid-enabled