kvm.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* KVM-unit-tests on AMD
@ 2019-10-07 23:47 Nadav Amit
  2019-10-08 12:19 ` Vitaly Kuznetsov
  0 siblings, 1 reply; 12+ messages in thread
From: Nadav Amit @ 2019-10-07 23:47 UTC (permalink / raw)
  To: Paolo Bonzini, Sean Christopherson; +Cc: kvm list

Is kvm-unit-test supposed to pass on AMD machines or AMD VMs?.

Clearly, I ask since they do not pass on AMD on bare-metal.


^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: KVM-unit-tests on AMD
  2019-10-07 23:47 KVM-unit-tests on AMD Nadav Amit
@ 2019-10-08 12:19 ` Vitaly Kuznetsov
  2019-10-08 14:09   ` Jack Wang
  2019-10-08 16:30   ` Nadav Amit
  0 siblings, 2 replies; 12+ messages in thread
From: Vitaly Kuznetsov @ 2019-10-08 12:19 UTC (permalink / raw)
  To: Nadav Amit; +Cc: kvm list, Paolo Bonzini, Sean Christopherson, cavery

Nadav Amit <nadav.amit@gmail.com> writes:

> Is kvm-unit-test supposed to pass on AMD machines or AMD VMs?.
>

It is supposed to but it doesn't :-) Actually, not only kvm-unit-tests
but the whole SVM would appreciate some love ...

> Clearly, I ask since they do not pass on AMD on bare-metal.

On my AMD EPYC 7401P 24-Core Processor bare metal I get the following
failures:

FAIL vmware_backdoors (11 tests, 8 unexpected failures)

(Why can't we just check
/sys/module/kvm/parameters/enable_vmware_backdoor btw???)

FAIL svm (15 tests, 1 unexpected failures)

There is a patch for that:

https://lore.kernel.org/kvm/d3eeb3b5-13d7-34d2-4ce0-fdd534f2bcc3@redhat.com/T/#t

Inside a VM on this host I see the following:

FAIL apic-split (timeout; duration=90s)
FAIL apic (timeout; duration=30)

(I manually inreased the timeout but it didn't help - this is worrisome,
most likely this is a hang)

FAIL vmware_backdoors (11 tests, 8 unexpected failures)

- same as on bare metal

FAIL port80 (timeout; duration=90s)

- hang again?

FAIL svm (timeout; duration=90s)

- most likely a hang but this is 3-level nesting so oh well..

FAIL kvmclock_test 

- bad but maybe something is wrong with TSC on the host? Need to
  investigate ...

FAIL hyperv_clock 

- this is expected as it doesn't work when the clocksource is not TSC
  (e.g. kvm-clock)

Are you seeing different failures?

-- 
Vitaly

^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: KVM-unit-tests on AMD
  2019-10-08 12:19 ` Vitaly Kuznetsov
@ 2019-10-08 14:09   ` Jack Wang
  2019-10-08 15:06     ` Vitaly Kuznetsov
  2019-10-08 16:30   ` Nadav Amit
  1 sibling, 1 reply; 12+ messages in thread
From: Jack Wang @ 2019-10-08 14:09 UTC (permalink / raw)
  To: Vitaly Kuznetsov
  Cc: Nadav Amit, kvm list, Paolo Bonzini, Sean Christopherson, cavery

Vitaly Kuznetsov <vkuznets@redhat.com> 于2019年10月8日周二 下午2:20写道:
>
> Nadav Amit <nadav.amit@gmail.com> writes:
>
> > Is kvm-unit-test supposed to pass on AMD machines or AMD VMs?.
> >
>
> It is supposed to but it doesn't :-) Actually, not only kvm-unit-tests
> but the whole SVM would appreciate some love ...
>
> > Clearly, I ask since they do not pass on AMD on bare-metal.
>
> On my AMD EPYC 7401P 24-Core Processor bare metal I get the following
> failures:
>
> FAIL vmware_backdoors (11 tests, 8 unexpected failures)
>
> (Why can't we just check
> /sys/module/kvm/parameters/enable_vmware_backdoor btw???)
>
> FAIL svm (15 tests, 1 unexpected failures)
>
> There is a patch for that:
>
> https://lore.kernel.org/kvm/d3eeb3b5-13d7-34d2-4ce0-fdd534f2bcc3@redhat.com/T/#t
>

> Are you seeing different failures?
>
> --
> Vitaly
On my test machine AMD Opteron(tm) Processor 6386 SE, bare metal:
I got similar result:
vmware_backdoors (11 tests, 8 unexpected failures)
svm (13 tests, 1 unexpected failures), it failed on
FAIL: tsc_adjust
    Latency VMRUN : max: 181451 min: 13150 avg: 13288
    Latency VMEXIT: max: 270048 min: 13455 avg: 13623

^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: KVM-unit-tests on AMD
  2019-10-08 14:09   ` Jack Wang
@ 2019-10-08 15:06     ` Vitaly Kuznetsov
  2019-10-08 15:55       ` Jack Wang
  2019-10-08 16:01       ` Paolo Bonzini
  0 siblings, 2 replies; 12+ messages in thread
From: Vitaly Kuznetsov @ 2019-10-08 15:06 UTC (permalink / raw)
  To: Jack Wang
  Cc: Nadav Amit, kvm list, Paolo Bonzini, Sean Christopherson, cavery

Jack Wang <jack.wang.usish@gmail.com> writes:

> Vitaly Kuznetsov <vkuznets@redhat.com> 于2019年10月8日周二 下午2:20写道:
>>
>> Nadav Amit <nadav.amit@gmail.com> writes:
>>
>> > Is kvm-unit-test supposed to pass on AMD machines or AMD VMs?.
>> >
>>
>> It is supposed to but it doesn't :-) Actually, not only kvm-unit-tests
>> but the whole SVM would appreciate some love ...
>>
>> > Clearly, I ask since they do not pass on AMD on bare-metal.
>>
>> On my AMD EPYC 7401P 24-Core Processor bare metal I get the following
>> failures:
>>
>> FAIL vmware_backdoors (11 tests, 8 unexpected failures)
>>
>> (Why can't we just check
>> /sys/module/kvm/parameters/enable_vmware_backdoor btw???)
>>
>> FAIL svm (15 tests, 1 unexpected failures)
>>
>> There is a patch for that:
>>
>> https://lore.kernel.org/kvm/d3eeb3b5-13d7-34d2-4ce0-fdd534f2bcc3@redhat.com/T/#t
>>
>
>> Are you seeing different failures?
>>
>> --
>> Vitaly
> On my test machine AMD Opteron(tm) Processor 6386 SE, bare metal:
> I got similar result:
> vmware_backdoors (11 tests, 8 unexpected failures)
> svm (13 tests, 1 unexpected failures), it failed on
> FAIL: tsc_adjust
>     Latency VMRUN : max: 181451 min: 13150 avg: 13288
>     Latency VMEXIT: max: 270048 min: 13455 avg: 13623

Right you are,

the failing test is also 'tsc_adjust' for me, npt_rsvd_pfwalk (which
Cathy fixed) is not being executed because we do '-cpu qemu64' for it.

With the following:

diff --git a/x86/unittests.cfg b/x86/unittests.cfg
index b4865ac..5ecb9bb 100644
--- a/x86/unittests.cfg
+++ b/x86/unittests.cfg
@@ -198,7 +198,7 @@ arch = x86_64
 [svm]
 file = svm.flat
 smp = 2
-extra_params = -cpu qemu64,+svm
+extra_params = -cpu host,+svm
 arch = x86_64
 
 [taskswitch]

everything passes, including tsc_adjust:

PASS: tsc_adjust
    Latency VMRUN : max: 43240 min: 3720 avg: 3830
    Latency VMEXIT: max: 36300 min: 3540 avg: 3648

-- 
Vitaly

^ permalink raw reply related	[flat|nested] 12+ messages in thread

* Re: KVM-unit-tests on AMD
  2019-10-08 15:06     ` Vitaly Kuznetsov
@ 2019-10-08 15:55       ` Jack Wang
  2019-10-08 16:01       ` Paolo Bonzini
  1 sibling, 0 replies; 12+ messages in thread
From: Jack Wang @ 2019-10-08 15:55 UTC (permalink / raw)
  To: Vitaly Kuznetsov
  Cc: Nadav Amit, kvm list, Paolo Bonzini, Sean Christopherson, cavery

Vitaly Kuznetsov <vkuznets@redhat.com> 于2019年10月8日周二 下午5:06写道:
>
> Jack Wang <jack.wang.usish@gmail.com> writes:
>
> > Vitaly Kuznetsov <vkuznets@redhat.com> 于2019年10月8日周二 下午2:20写道:
> >>
> >> Nadav Amit <nadav.amit@gmail.com> writes:
> >>
> >> > Is kvm-unit-test supposed to pass on AMD machines or AMD VMs?.
> >> >
> >>
> >> It is supposed to but it doesn't :-) Actually, not only kvm-unit-tests
> >> but the whole SVM would appreciate some love ...
> >>
> >> > Clearly, I ask since they do not pass on AMD on bare-metal.
> >>
> >> On my AMD EPYC 7401P 24-Core Processor bare metal I get the following
> >> failures:
> >>
> >> FAIL vmware_backdoors (11 tests, 8 unexpected failures)
> >>
> >> (Why can't we just check
> >> /sys/module/kvm/parameters/enable_vmware_backdoor btw???)
> >>
> >> FAIL svm (15 tests, 1 unexpected failures)
> >>
> >> There is a patch for that:
> >>
> >> https://lore.kernel.org/kvm/d3eeb3b5-13d7-34d2-4ce0-fdd534f2bcc3@redhat.com/T/#t
> >>
> >
> >> Are you seeing different failures?
> >>
> >> --
> >> Vitaly
> > On my test machine AMD Opteron(tm) Processor 6386 SE, bare metal:
> > I got similar result:
> > vmware_backdoors (11 tests, 8 unexpected failures)
> > svm (13 tests, 1 unexpected failures), it failed on
> > FAIL: tsc_adjust
> >     Latency VMRUN : max: 181451 min: 13150 avg: 13288
> >     Latency VMEXIT: max: 270048 min: 13455 avg: 13623
>
> Right you are,
>
> the failing test is also 'tsc_adjust' for me, npt_rsvd_pfwalk (which
> Cathy fixed) is not being executed because we do '-cpu qemu64' for it.
>
> With the following:
>
> diff --git a/x86/unittests.cfg b/x86/unittests.cfg
> index b4865ac..5ecb9bb 100644
> --- a/x86/unittests.cfg
> +++ b/x86/unittests.cfg
> @@ -198,7 +198,7 @@ arch = x86_64
>  [svm]
>  file = svm.flat
>  smp = 2
> -extra_params = -cpu qemu64,+svm
> +extra_params = -cpu host,+svm
>  arch = x86_64
>
>  [taskswitch]
>
> everything passes, including tsc_adjust:
>
> PASS: tsc_adjust
>     Latency VMRUN : max: 43240 min: 3720 avg: 3830
>     Latency VMEXIT: max: 36300 min: 3540 avg: 3648
>
> --
> Vitaly
Yes with -cpu host, my tests also are all pass now.
PASS: tsc_adjust
    Latency VMRUN : max: 5266389 min: 14207 avg: 14444
    Latency VMEXIT: max: 138820 min: 13712 avg: 13932

^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: KVM-unit-tests on AMD
  2019-10-08 15:06     ` Vitaly Kuznetsov
  2019-10-08 15:55       ` Jack Wang
@ 2019-10-08 16:01       ` Paolo Bonzini
  1 sibling, 0 replies; 12+ messages in thread
From: Paolo Bonzini @ 2019-10-08 16:01 UTC (permalink / raw)
  To: Vitaly Kuznetsov, Jack Wang
  Cc: Nadav Amit, kvm list, Sean Christopherson, cavery

On 08/10/19 17:06, Vitaly Kuznetsov wrote:
> Jack Wang <jack.wang.usish@gmail.com> writes:
> 
>> Vitaly Kuznetsov <vkuznets@redhat.com> 于2019年10月8日周二 下午2:20写道:
>>>
>>> Nadav Amit <nadav.amit@gmail.com> writes:
>>>
>>>> Is kvm-unit-test supposed to pass on AMD machines or AMD VMs?.
>>>>
>>>
>>> It is supposed to but it doesn't :-) Actually, not only kvm-unit-tests
>>> but the whole SVM would appreciate some love ...
>>>
>>>> Clearly, I ask since they do not pass on AMD on bare-metal.
>>>
>>> On my AMD EPYC 7401P 24-Core Processor bare metal I get the following
>>> failures:
>>>
>>> FAIL vmware_backdoors (11 tests, 8 unexpected failures)
>>>
>>> (Why can't we just check
>>> /sys/module/kvm/parameters/enable_vmware_backdoor btw???)
>>>
>>> FAIL svm (15 tests, 1 unexpected failures)
>>>
>>> There is a patch for that:
>>>
>>> https://lore.kernel.org/kvm/d3eeb3b5-13d7-34d2-4ce0-fdd534f2bcc3@redhat.com/T/#t
>>>
>>
>>> Are you seeing different failures?
>>>
>>> --
>>> Vitaly
>> On my test machine AMD Opteron(tm) Processor 6386 SE, bare metal:
>> I got similar result:
>> vmware_backdoors (11 tests, 8 unexpected failures)
>> svm (13 tests, 1 unexpected failures), it failed on
>> FAIL: tsc_adjust
>>     Latency VMRUN : max: 181451 min: 13150 avg: 13288
>>     Latency VMEXIT: max: 270048 min: 13455 avg: 13623
> 
> Right you are,
> 
> the failing test is also 'tsc_adjust' for me, npt_rsvd_pfwalk (which
> Cathy fixed) is not being executed because we do '-cpu qemu64' for it.
> 
> With the following:
> 
> diff --git a/x86/unittests.cfg b/x86/unittests.cfg
> index b4865ac..5ecb9bb 100644
> --- a/x86/unittests.cfg
> +++ b/x86/unittests.cfg
> @@ -198,7 +198,7 @@ arch = x86_64
>  [svm]
>  file = svm.flat
>  smp = 2
> -extra_params = -cpu qemu64,+svm
> +extra_params = -cpu host,+svm
>  arch = x86_64
>  
>  [taskswitch]

Patch please? :D

Paolo

> everything passes, including tsc_adjust:
> 
> PASS: tsc_adjust
>     Latency VMRUN : max: 43240 min: 3720 avg: 3830
>     Latency VMEXIT: max: 36300 min: 3540 avg: 3648
> 


^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: KVM-unit-tests on AMD
  2019-10-08 12:19 ` Vitaly Kuznetsov
  2019-10-08 14:09   ` Jack Wang
@ 2019-10-08 16:30   ` Nadav Amit
  2019-10-08 20:02     ` Nadav Amit
  1 sibling, 1 reply; 12+ messages in thread
From: Nadav Amit @ 2019-10-08 16:30 UTC (permalink / raw)
  To: Vitaly Kuznetsov; +Cc: kvm list, Paolo Bonzini, Sean Christopherson, cavery

> On Oct 8, 2019, at 5:19 AM, Vitaly Kuznetsov <vkuznets@redhat.com> wrote:
> 
> Nadav Amit <nadav.amit@gmail.com> writes:
> 
>> Is kvm-unit-test supposed to pass on AMD machines or AMD VMs?.
> 
> It is supposed to but it doesn't :-) Actually, not only kvm-unit-tests
> but the whole SVM would appreciate some love ...
> 
>> Clearly, I ask since they do not pass on AMD on bare-metal.
> 
> On my AMD EPYC 7401P 24-Core Processor bare metal I get the following
> failures:
> 
> FAIL vmware_backdoors (11 tests, 8 unexpected failures)
> 
> (Why can't we just check
> /sys/module/kvm/parameters/enable_vmware_backdoor btw???)
> 
> FAIL svm (15 tests, 1 unexpected failures)
> 
> There is a patch for that:
> 
> https://lore.kernel.org/kvm/d3eeb3b5-13d7-34d2-4ce0-fdd534f2bcc3@redhat.com/T/#t
> 
> Inside a VM on this host I see the following:
> 
> FAIL apic-split (timeout; duration=90s)
> FAIL apic (timeout; duration=30)
> 
> (I manually inreased the timeout but it didn't help - this is worrisome,
> most likely this is a hang)
> 
> FAIL vmware_backdoors (11 tests, 8 unexpected failures)
> 
> - same as on bare metal
> 
> FAIL port80 (timeout; duration=90s)
> 
> - hang again?
> 
> FAIL svm (timeout; duration=90s)
> 
> - most likely a hang but this is 3-level nesting so oh well..
> 
> FAIL kvmclock_test 
> 
> - bad but maybe something is wrong with TSC on the host? Need to
>  investigate ...
> 
> FAIL hyperv_clock 
> 
> - this is expected as it doesn't work when the clocksource is not TSC
>  (e.g. kvm-clock)
> 
> Are you seeing different failures?

Thanks for your quick response.

I only ran the “apic” tests so far and I got the following failures:

FAIL: correct xapic id after reset
…
x2apic not detected
FAIL: enable unsupported x2apic
FAIL: apicbase: relocate apic

The test gets stuck after “apicbase: reserved low bits”.

Well, I understand it is not a bare-metal thing.


^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: KVM-unit-tests on AMD
  2019-10-08 16:30   ` Nadav Amit
@ 2019-10-08 20:02     ` Nadav Amit
  2019-10-09 11:39       ` Cathy Avery
  0 siblings, 1 reply; 12+ messages in thread
From: Nadav Amit @ 2019-10-08 20:02 UTC (permalink / raw)
  To: Vitaly Kuznetsov; +Cc: kvm list, Paolo Bonzini, Sean Christopherson, cavery

> On Oct 8, 2019, at 9:30 AM, Nadav Amit <nadav.amit@gmail.com> wrote:
> 
>> On Oct 8, 2019, at 5:19 AM, Vitaly Kuznetsov <vkuznets@redhat.com> wrote:
>> 
>> Nadav Amit <nadav.amit@gmail.com> writes:
>> 
>>> Is kvm-unit-test supposed to pass on AMD machines or AMD VMs?.
>> 
>> It is supposed to but it doesn't :-) Actually, not only kvm-unit-tests
>> but the whole SVM would appreciate some love ...
>> 
>>> Clearly, I ask since they do not pass on AMD on bare-metal.
>> 
>> On my AMD EPYC 7401P 24-Core Processor bare metal I get the following
>> failures:
>> 
>> FAIL vmware_backdoors (11 tests, 8 unexpected failures)
>> 
>> (Why can't we just check
>> /sys/module/kvm/parameters/enable_vmware_backdoor btw???)
>> 
>> FAIL svm (15 tests, 1 unexpected failures)
>> 
>> There is a patch for that:
>> 
>> https://lore.kernel.org/kvm/d3eeb3b5-13d7-34d2-4ce0-fdd534f2bcc3@redhat.com/T/#t
>> 
>> Inside a VM on this host I see the following:
>> 
>> FAIL apic-split (timeout; duration=90s)
>> FAIL apic (timeout; duration=30)
>> 
>> (I manually inreased the timeout but it didn't help - this is worrisome,
>> most likely this is a hang)
>> 
>> FAIL vmware_backdoors (11 tests, 8 unexpected failures)
>> 
>> - same as on bare metal
>> 
>> FAIL port80 (timeout; duration=90s)
>> 
>> - hang again?
>> 
>> FAIL svm (timeout; duration=90s)
>> 
>> - most likely a hang but this is 3-level nesting so oh well..
>> 
>> FAIL kvmclock_test 
>> 
>> - bad but maybe something is wrong with TSC on the host? Need to
>> investigate ...
>> 
>> FAIL hyperv_clock 
>> 
>> - this is expected as it doesn't work when the clocksource is not TSC
>> (e.g. kvm-clock)
>> 
>> Are you seeing different failures?
> 
> Thanks for your quick response.
> 
> I only ran the “apic” tests so far and I got the following failures:
> 
> FAIL: correct xapic id after reset
> …
> x2apic not detected
> FAIL: enable unsupported x2apic
> FAIL: apicbase: relocate apic
> 
> The test gets stuck after “apicbase: reserved low bits”.
> 
> Well, I understand it is not a bare-metal thing.

I ran the SVM test, and on bare-metal it does not pass.

I don’t have the AMD machine for long enough to fix the issues, but for the
record, here are test failures and crashes I encountered while running the
tests on bare-metal.

Failures:
- cr3 read intercept emulate
- npt_nx
- npt_rsvd
- npt_rsvd_pfwalk
- npt_rw_pfwalk
- npt_rw_l1mmio

Crashes:
- test_dr_intercept - Access to DR4 causes #UD
- tsc_adjust_prepare - MSR access causes #GP


^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: KVM-unit-tests on AMD
  2019-10-08 20:02     ` Nadav Amit
@ 2019-10-09 11:39       ` Cathy Avery
  2019-10-09 17:32         ` Nadav Amit
  0 siblings, 1 reply; 12+ messages in thread
From: Cathy Avery @ 2019-10-09 11:39 UTC (permalink / raw)
  To: Nadav Amit, Vitaly Kuznetsov; +Cc: kvm list, Paolo Bonzini, Sean Christopherson

On 10/8/19 4:02 PM, Nadav Amit wrote:
>> On Oct 8, 2019, at 9:30 AM, Nadav Amit <nadav.amit@gmail.com> wrote:
>>
>>> On Oct 8, 2019, at 5:19 AM, Vitaly Kuznetsov <vkuznets@redhat.com> wrote:
>>>
>>> Nadav Amit <nadav.amit@gmail.com> writes:
>>>
>>>> Is kvm-unit-test supposed to pass on AMD machines or AMD VMs?.
>>> It is supposed to but it doesn't :-) Actually, not only kvm-unit-tests
>>> but the whole SVM would appreciate some love ...
>>>
>>>> Clearly, I ask since they do not pass on AMD on bare-metal.
>>> On my AMD EPYC 7401P 24-Core Processor bare metal I get the following
>>> failures:
>>>
>>> FAIL vmware_backdoors (11 tests, 8 unexpected failures)
>>>
>>> (Why can't we just check
>>> /sys/module/kvm/parameters/enable_vmware_backdoor btw???)
>>>
>>> FAIL svm (15 tests, 1 unexpected failures)
>>>
>>> There is a patch for that:
>>>
>>> https://lore.kernel.org/kvm/d3eeb3b5-13d7-34d2-4ce0-fdd534f2bcc3@redhat.com/T/#t
>>>
>>> Inside a VM on this host I see the following:
>>>
>>> FAIL apic-split (timeout; duration=90s)
>>> FAIL apic (timeout; duration=30)
>>>
>>> (I manually inreased the timeout but it didn't help - this is worrisome,
>>> most likely this is a hang)
>>>
>>> FAIL vmware_backdoors (11 tests, 8 unexpected failures)
>>>
>>> - same as on bare metal
>>>
>>> FAIL port80 (timeout; duration=90s)
>>>
>>> - hang again?
>>>
>>> FAIL svm (timeout; duration=90s)
>>>
>>> - most likely a hang but this is 3-level nesting so oh well..
>>>
>>> FAIL kvmclock_test
>>>
>>> - bad but maybe something is wrong with TSC on the host? Need to
>>> investigate ...
>>>
>>> FAIL hyperv_clock
>>>
>>> - this is expected as it doesn't work when the clocksource is not TSC
>>> (e.g. kvm-clock)
>>>
>>> Are you seeing different failures?
>> Thanks for your quick response.
>>
>> I only ran the “apic” tests so far and I got the following failures:
>>
>> FAIL: correct xapic id after reset
>> …
>> x2apic not detected
>> FAIL: enable unsupported x2apic
>> FAIL: apicbase: relocate apic
>>
>> The test gets stuck after “apicbase: reserved low bits”.
>>
>> Well, I understand it is not a bare-metal thing.
> I ran the SVM test, and on bare-metal it does not pass.
>
> I don’t have the AMD machine for long enough to fix the issues, but for the
> record, here are test failures and crashes I encountered while running the
> tests on bare-metal.
>
> Failures:
> - cr3 read intercept emulate
> - npt_nx
> - npt_rsvd
> - npt_rsvd_pfwalk
> - npt_rw_pfwalk
> - npt_rw_l1mmio
>
> Crashes:
> - test_dr_intercept - Access to DR4 causes #UD
> - tsc_adjust_prepare - MSR access causes #GP
>
Interesting. I just ran the latest on bare-metal and it did pass.

enabling apic
enabling apic
paging enabled
cr0 = 80010011
cr3 = 62a000
cr4 = 20
NPT detected - running all tests with NPT enabled
PASS: null
PASS: vmrun
PASS: ioio
PASS: vmrun intercept check
PASS: cr3 read intercept
PASS: cr3 read nointercept
PASS: cr3 read intercept emulate
PASS: dr intercept check
PASS: next_rip
PASS: msr intercept check
PASS: mode_switch
PASS: asid_zero
PASS: sel_cr0_bug
PASS: npt_nx
PASS: npt_us
PASS: npt_rsvd
PASS: npt_rw
PASS: npt_rsvd_pfwalk
PASS: npt_rw_pfwalk
PASS: npt_l1mmio
PASS: npt_rw_l1mmio
PASS: tsc_adjust
     Latency VMRUN : max: 49300 min: 3160 avg: 3228
     Latency VMEXIT: max: 607780 min: 2940 avg: 2999
PASS: latency_run_exit
     Latency VMLOAD: max: 29720 min: 300 avg: 306
     Latency VMSAVE: max: 31660 min: 280 avg: 282
     Latency STGI:   max: 18860 min: 40 avg: 54
     Latency CLGI:   max: 16060 min: 40 avg: 53
PASS: latency_svm_insn
SUMMARY: 24 tests


^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: KVM-unit-tests on AMD
  2019-10-09 11:39       ` Cathy Avery
@ 2019-10-09 17:32         ` Nadav Amit
  2019-10-09 18:53           ` Cathy Avery
  0 siblings, 1 reply; 12+ messages in thread
From: Nadav Amit @ 2019-10-09 17:32 UTC (permalink / raw)
  To: Cathy Avery
  Cc: Vitaly Kuznetsov, kvm list, Paolo Bonzini, Sean Christopherson

On Oct 9, 2019, at 4:39 AM, Cathy Avery <cavery@redhat.com> wrote:
> 
> On 10/8/19 4:02 PM, Nadav Amit wrote:
>>> On Oct 8, 2019, at 9:30 AM, Nadav Amit <nadav.amit@gmail.com> wrote:
>>> 
>>>> On Oct 8, 2019, at 5:19 AM, Vitaly Kuznetsov <vkuznets@redhat.com> wrote:
>>>> 
>>>> Nadav Amit <nadav.amit@gmail.com> writes:
>>>> 
>>>>> Is kvm-unit-test supposed to pass on AMD machines or AMD VMs?.
>>>> It is supposed to but it doesn't :-) Actually, not only kvm-unit-tests
>>>> but the whole SVM would appreciate some love ...
>>>> 
>>>>> Clearly, I ask since they do not pass on AMD on bare-metal.
>>>> On my AMD EPYC 7401P 24-Core Processor bare metal I get the following
>>>> failures:
>>>> 
>>>> FAIL vmware_backdoors (11 tests, 8 unexpected failures)
>>>> 
>>>> (Why can't we just check
>>>> /sys/module/kvm/parameters/enable_vmware_backdoor btw???)
>>>> 
>>>> FAIL svm (15 tests, 1 unexpected failures)
>>>> 
>>>> There is a patch for that:
>>>> 
>>>> https://lore.kernel.org/kvm/d3eeb3b5-13d7-34d2-4ce0-fdd534f2bcc3@redhat.com/T/#t
>>>> 
>>>> Inside a VM on this host I see the following:
>>>> 
>>>> FAIL apic-split (timeout; duration=90s)
>>>> FAIL apic (timeout; duration=30)
>>>> 
>>>> (I manually inreased the timeout but it didn't help - this is worrisome,
>>>> most likely this is a hang)
>>>> 
>>>> FAIL vmware_backdoors (11 tests, 8 unexpected failures)
>>>> 
>>>> - same as on bare metal
>>>> 
>>>> FAIL port80 (timeout; duration=90s)
>>>> 
>>>> - hang again?
>>>> 
>>>> FAIL svm (timeout; duration=90s)
>>>> 
>>>> - most likely a hang but this is 3-level nesting so oh well..
>>>> 
>>>> FAIL kvmclock_test
>>>> 
>>>> - bad but maybe something is wrong with TSC on the host? Need to
>>>> investigate ...
>>>> 
>>>> FAIL hyperv_clock
>>>> 
>>>> - this is expected as it doesn't work when the clocksource is not TSC
>>>> (e.g. kvm-clock)
>>>> 
>>>> Are you seeing different failures?
>>> Thanks for your quick response.
>>> 
>>> I only ran the “apic” tests so far and I got the following failures:
>>> 
>>> FAIL: correct xapic id after reset
>>> …
>>> x2apic not detected
>>> FAIL: enable unsupported x2apic
>>> FAIL: apicbase: relocate apic
>>> 
>>> The test gets stuck after “apicbase: reserved low bits”.
>>> 
>>> Well, I understand it is not a bare-metal thing.
>> I ran the SVM test, and on bare-metal it does not pass.
>> 
>> I don’t have the AMD machine for long enough to fix the issues, but for the
>> record, here are test failures and crashes I encountered while running the
>> tests on bare-metal.
>> 
>> Failures:
>> - cr3 read intercept emulate
>> - npt_nx
>> - npt_rsvd
>> - npt_rsvd_pfwalk
>> - npt_rw_pfwalk
>> - npt_rw_l1mmio
>> 
>> Crashes:
>> - test_dr_intercept - Access to DR4 causes #UD
>> - tsc_adjust_prepare - MSR access causes #GP
>> 
> Interesting. I just ran the latest on bare-metal and it did pass.
> 
> enabling apic
> enabling apic
> paging enabled
> cr0 = 80010011
> cr3 = 62a000
> cr4 = 20
> NPT detected - running all tests with NPT enabled
> PASS: null
> PASS: vmrun
> PASS: ioio
> PASS: vmrun intercept check
> PASS: cr3 read intercept
> PASS: cr3 read nointercept
> PASS: cr3 read intercept emulate
> PASS: dr intercept check
> PASS: next_rip
> PASS: msr intercept check
> PASS: mode_switch
> PASS: asid_zero
> PASS: sel_cr0_bug
> PASS: npt_nx
> PASS: npt_us
> PASS: npt_rsvd
> PASS: npt_rw
> PASS: npt_rsvd_pfwalk
> PASS: npt_rw_pfwalk
> PASS: npt_l1mmio
> PASS: npt_rw_l1mmio
> PASS: tsc_adjust
>     Latency VMRUN : max: 49300 min: 3160 avg: 3228
>     Latency VMEXIT: max: 607780 min: 2940 avg: 2999
> PASS: latency_run_exit
>     Latency VMLOAD: max: 29720 min: 300 avg: 306
>     Latency VMSAVE: max: 31660 min: 280 avg: 282
>     Latency STGI:   max: 18860 min: 40 avg: 54
>     Latency CLGI:   max: 16060 min: 40 avg: 53
> PASS: latency_svm_insn
> SUMMARY: 24 tests

Just to make sure, you actually ran it on bare-metal? Without KVM?


^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: KVM-unit-tests on AMD
  2019-10-09 17:32         ` Nadav Amit
@ 2019-10-09 18:53           ` Cathy Avery
  2019-10-09 19:00             ` Nadav Amit
  0 siblings, 1 reply; 12+ messages in thread
From: Cathy Avery @ 2019-10-09 18:53 UTC (permalink / raw)
  To: Nadav Amit; +Cc: Vitaly Kuznetsov, kvm list, Paolo Bonzini, Sean Christopherson

On 10/9/19 1:32 PM, Nadav Amit wrote:
> On Oct 9, 2019, at 4:39 AM, Cathy Avery <cavery@redhat.com> wrote:
>> On 10/8/19 4:02 PM, Nadav Amit wrote:
>>>> On Oct 8, 2019, at 9:30 AM, Nadav Amit <nadav.amit@gmail.com> wrote:
>>>>
>>>>> On Oct 8, 2019, at 5:19 AM, Vitaly Kuznetsov <vkuznets@redhat.com> wrote:
>>>>>
>>>>> Nadav Amit <nadav.amit@gmail.com> writes:
>>>>>
>>>>>> Is kvm-unit-test supposed to pass on AMD machines or AMD VMs?.
>>>>> It is supposed to but it doesn't :-) Actually, not only kvm-unit-tests
>>>>> but the whole SVM would appreciate some love ...
>>>>>
>>>>>> Clearly, I ask since they do not pass on AMD on bare-metal.
>>>>> On my AMD EPYC 7401P 24-Core Processor bare metal I get the following
>>>>> failures:
>>>>>
>>>>> FAIL vmware_backdoors (11 tests, 8 unexpected failures)
>>>>>
>>>>> (Why can't we just check
>>>>> /sys/module/kvm/parameters/enable_vmware_backdoor btw???)
>>>>>
>>>>> FAIL svm (15 tests, 1 unexpected failures)
>>>>>
>>>>> There is a patch for that:
>>>>>
>>>>> https://lore.kernel.org/kvm/d3eeb3b5-13d7-34d2-4ce0-fdd534f2bcc3@redhat.com/T/#t
>>>>>
>>>>> Inside a VM on this host I see the following:
>>>>>
>>>>> FAIL apic-split (timeout; duration=90s)
>>>>> FAIL apic (timeout; duration=30)
>>>>>
>>>>> (I manually inreased the timeout but it didn't help - this is worrisome,
>>>>> most likely this is a hang)
>>>>>
>>>>> FAIL vmware_backdoors (11 tests, 8 unexpected failures)
>>>>>
>>>>> - same as on bare metal
>>>>>
>>>>> FAIL port80 (timeout; duration=90s)
>>>>>
>>>>> - hang again?
>>>>>
>>>>> FAIL svm (timeout; duration=90s)
>>>>>
>>>>> - most likely a hang but this is 3-level nesting so oh well..
>>>>>
>>>>> FAIL kvmclock_test
>>>>>
>>>>> - bad but maybe something is wrong with TSC on the host? Need to
>>>>> investigate ...
>>>>>
>>>>> FAIL hyperv_clock
>>>>>
>>>>> - this is expected as it doesn't work when the clocksource is not TSC
>>>>> (e.g. kvm-clock)
>>>>>
>>>>> Are you seeing different failures?
>>>> Thanks for your quick response.
>>>>
>>>> I only ran the “apic” tests so far and I got the following failures:
>>>>
>>>> FAIL: correct xapic id after reset
>>>> …
>>>> x2apic not detected
>>>> FAIL: enable unsupported x2apic
>>>> FAIL: apicbase: relocate apic
>>>>
>>>> The test gets stuck after “apicbase: reserved low bits”.
>>>>
>>>> Well, I understand it is not a bare-metal thing.
>>> I ran the SVM test, and on bare-metal it does not pass.
>>>
>>> I don’t have the AMD machine for long enough to fix the issues, but for the
>>> record, here are test failures and crashes I encountered while running the
>>> tests on bare-metal.
>>>
>>> Failures:
>>> - cr3 read intercept emulate
>>> - npt_nx
>>> - npt_rsvd
>>> - npt_rsvd_pfwalk
>>> - npt_rw_pfwalk
>>> - npt_rw_l1mmio
>>>
>>> Crashes:
>>> - test_dr_intercept - Access to DR4 causes #UD
>>> - tsc_adjust_prepare - MSR access causes #GP
>>>
>> Interesting. I just ran the latest on bare-metal and it did pass.
>>
>> enabling apic
>> enabling apic
>> paging enabled
>> cr0 = 80010011
>> cr3 = 62a000
>> cr4 = 20
>> NPT detected - running all tests with NPT enabled
>> PASS: null
>> PASS: vmrun
>> PASS: ioio
>> PASS: vmrun intercept check
>> PASS: cr3 read intercept
>> PASS: cr3 read nointercept
>> PASS: cr3 read intercept emulate
>> PASS: dr intercept check
>> PASS: next_rip
>> PASS: msr intercept check
>> PASS: mode_switch
>> PASS: asid_zero
>> PASS: sel_cr0_bug
>> PASS: npt_nx
>> PASS: npt_us
>> PASS: npt_rsvd
>> PASS: npt_rw
>> PASS: npt_rsvd_pfwalk
>> PASS: npt_rw_pfwalk
>> PASS: npt_l1mmio
>> PASS: npt_rw_l1mmio
>> PASS: tsc_adjust
>>      Latency VMRUN : max: 49300 min: 3160 avg: 3228
>>      Latency VMEXIT: max: 607780 min: 2940 avg: 2999
>> PASS: latency_run_exit
>>      Latency VMLOAD: max: 29720 min: 300 avg: 306
>>      Latency VMSAVE: max: 31660 min: 280 avg: 282
>>      Latency STGI:   max: 18860 min: 40 avg: 54
>>      Latency CLGI:   max: 16060 min: 40 avg: 53
>> PASS: latency_svm_insn
>> SUMMARY: 24 tests
> Just to make sure, you actually ran it on bare-metal? Without KVM?
>
The tests were run on a Fedora 29 server with recent upstream kernel, 
qemu, and yes with KVM.



^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: KVM-unit-tests on AMD
  2019-10-09 18:53           ` Cathy Avery
@ 2019-10-09 19:00             ` Nadav Amit
  0 siblings, 0 replies; 12+ messages in thread
From: Nadav Amit @ 2019-10-09 19:00 UTC (permalink / raw)
  To: Cathy Avery
  Cc: Vitaly Kuznetsov, kvm list, Paolo Bonzini, Sean Christopherson



> On Oct 9, 2019, at 11:53 AM, Cathy Avery <cavery@redhat.com> wrote:
> 
> On 10/9/19 1:32 PM, Nadav Amit wrote:
>> On Oct 9, 2019, at 4:39 AM, Cathy Avery <cavery@redhat.com> wrote:
>>> On 10/8/19 4:02 PM, Nadav Amit wrote:
>>>>> On Oct 8, 2019, at 9:30 AM, Nadav Amit <nadav.amit@gmail.com> wrote:
>>>>> 
>>>>>> On Oct 8, 2019, at 5:19 AM, Vitaly Kuznetsov <vkuznets@redhat.com> wrote:
>>>>>> 
>>>>>> Nadav Amit <nadav.amit@gmail.com> writes:
>>>>>> 
>>>>>>> Is kvm-unit-test supposed to pass on AMD machines or AMD VMs?.
>>>>>> It is supposed to but it doesn't :-) Actually, not only kvm-unit-tests
>>>>>> but the whole SVM would appreciate some love ...
>>>>>> 
>>>>>>> Clearly, I ask since they do not pass on AMD on bare-metal.
>>>>>> On my AMD EPYC 7401P 24-Core Processor bare metal I get the following
>>>>>> failures:
>>>>>> 
>>>>>> FAIL vmware_backdoors (11 tests, 8 unexpected failures)
>>>>>> 
>>>>>> (Why can't we just check
>>>>>> /sys/module/kvm/parameters/enable_vmware_backdoor btw???)
>>>>>> 
>>>>>> FAIL svm (15 tests, 1 unexpected failures)
>>>>>> 
>>>>>> There is a patch for that:
>>>>>> 
>>>>>> https://lore.kernel.org/kvm/d3eeb3b5-13d7-34d2-4ce0-fdd534f2bcc3@redhat.com/T/#t
>>>>>> 
>>>>>> Inside a VM on this host I see the following:
>>>>>> 
>>>>>> FAIL apic-split (timeout; duration=90s)
>>>>>> FAIL apic (timeout; duration=30)
>>>>>> 
>>>>>> (I manually inreased the timeout but it didn't help - this is worrisome,
>>>>>> most likely this is a hang)
>>>>>> 
>>>>>> FAIL vmware_backdoors (11 tests, 8 unexpected failures)
>>>>>> 
>>>>>> - same as on bare metal
>>>>>> 
>>>>>> FAIL port80 (timeout; duration=90s)
>>>>>> 
>>>>>> - hang again?
>>>>>> 
>>>>>> FAIL svm (timeout; duration=90s)
>>>>>> 
>>>>>> - most likely a hang but this is 3-level nesting so oh well..
>>>>>> 
>>>>>> FAIL kvmclock_test
>>>>>> 
>>>>>> - bad but maybe something is wrong with TSC on the host? Need to
>>>>>> investigate ...
>>>>>> 
>>>>>> FAIL hyperv_clock
>>>>>> 
>>>>>> - this is expected as it doesn't work when the clocksource is not TSC
>>>>>> (e.g. kvm-clock)
>>>>>> 
>>>>>> Are you seeing different failures?
>>>>> Thanks for your quick response.
>>>>> 
>>>>> I only ran the “apic” tests so far and I got the following failures:
>>>>> 
>>>>> FAIL: correct xapic id after reset
>>>>> …
>>>>> x2apic not detected
>>>>> FAIL: enable unsupported x2apic
>>>>> FAIL: apicbase: relocate apic
>>>>> 
>>>>> The test gets stuck after “apicbase: reserved low bits”.
>>>>> 
>>>>> Well, I understand it is not a bare-metal thing.
>>>> I ran the SVM test, and on bare-metal it does not pass.
>>>> 
>>>> I don’t have the AMD machine for long enough to fix the issues, but for the
>>>> record, here are test failures and crashes I encountered while running the
>>>> tests on bare-metal.
>>>> 
>>>> Failures:
>>>> - cr3 read intercept emulate
>>>> - npt_nx
>>>> - npt_rsvd
>>>> - npt_rsvd_pfwalk
>>>> - npt_rw_pfwalk
>>>> - npt_rw_l1mmio
>>>> 
>>>> Crashes:
>>>> - test_dr_intercept - Access to DR4 causes #UD
>>>> - tsc_adjust_prepare - MSR access causes #GP
>>>> 
>>> Interesting. I just ran the latest on bare-metal and it did pass.
>>> 
>>> enabling apic
>>> enabling apic
>>> paging enabled
>>> cr0 = 80010011
>>> cr3 = 62a000
>>> cr4 = 20
>>> NPT detected - running all tests with NPT enabled
>>> PASS: null
>>> PASS: vmrun
>>> PASS: ioio
>>> PASS: vmrun intercept check
>>> PASS: cr3 read intercept
>>> PASS: cr3 read nointercept
>>> PASS: cr3 read intercept emulate
>>> PASS: dr intercept check
>>> PASS: next_rip
>>> PASS: msr intercept check
>>> PASS: mode_switch
>>> PASS: asid_zero
>>> PASS: sel_cr0_bug
>>> PASS: npt_nx
>>> PASS: npt_us
>>> PASS: npt_rsvd
>>> PASS: npt_rw
>>> PASS: npt_rsvd_pfwalk
>>> PASS: npt_rw_pfwalk
>>> PASS: npt_l1mmio
>>> PASS: npt_rw_l1mmio
>>> PASS: tsc_adjust
>>>     Latency VMRUN : max: 49300 min: 3160 avg: 3228
>>>     Latency VMEXIT: max: 607780 min: 2940 avg: 2999
>>> PASS: latency_run_exit
>>>     Latency VMLOAD: max: 29720 min: 300 avg: 306
>>>     Latency VMSAVE: max: 31660 min: 280 avg: 282
>>>     Latency STGI:   max: 18860 min: 40 avg: 54
>>>     Latency CLGI:   max: 16060 min: 40 avg: 53
>>> PASS: latency_svm_insn
>>> SUMMARY: 24 tests
>> Just to make sure, you actually ran it on bare-metal? Without KVM?
>> 
> The tests were run on a Fedora 29 server with recent upstream kernel, qemu, and yes with KVM.

So I regard a different setup - No KVM, running the tests directly
on bare-metal. Running tests in this manner exposes bugs in the
tests themselves, since they sometime make the wrong assumption on
how hardware behaves.

And of course bugs in the tests sometimes indicate bugs in KVM as
well. For instance:

https://lore.kernel.org/kvm/20190919125211.18152-6-liran.alon@oracle.com/T/#ebb7e52ae77cccbc8b2455466b34c2e28a9b4c56d
https://patchwork.kernel.org/patch/10951713/


^ permalink raw reply	[flat|nested] 12+ messages in thread

end of thread, other threads:[~2019-10-09 19:00 UTC | newest]

Thread overview: 12+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2019-10-07 23:47 KVM-unit-tests on AMD Nadav Amit
2019-10-08 12:19 ` Vitaly Kuznetsov
2019-10-08 14:09   ` Jack Wang
2019-10-08 15:06     ` Vitaly Kuznetsov
2019-10-08 15:55       ` Jack Wang
2019-10-08 16:01       ` Paolo Bonzini
2019-10-08 16:30   ` Nadav Amit
2019-10-08 20:02     ` Nadav Amit
2019-10-09 11:39       ` Cathy Avery
2019-10-09 17:32         ` Nadav Amit
2019-10-09 18:53           ` Cathy Avery
2019-10-09 19:00             ` Nadav Amit

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).