All of lore.kernel.org
 help / color / mirror / Atom feed
* kvm-unit-test failed to complete
@ 2015-07-29 18:18 Shih-Wei Li
  2015-07-29 18:30 ` Christoffer Dall
  0 siblings, 1 reply; 6+ messages in thread
From: Shih-Wei Li @ 2015-07-29 18:18 UTC (permalink / raw)
  To: kvm; +Cc: Christoffer Dall

Hi all,

This is Shih-Wei, I'm Christoffer's colleague at Columbia University.
We have experienced some problems in running kvm-unit-tests in our
environment.
Here's what we did:
./configure
make
./run_test.sh

run_test.sh halted in some specific test items and couldn't finish the
run. I managed to get it finish running after removing the following
items:
x86/apic.c:
-> removed:
test_sti_nmi();
test_multiple_nmi();

x86/unittest.cfg:
-> removed:
smptest, smptest3, vmexit_ipi, vmexit_ipi_halt, s3, kvmclock_test

We are using the x86_64 profile (cpu: Intel Xeon E5-2450 8 cores) in
CloudLab. We used Linux-4.0-rc4 as our host kernel and the upstream
kvm-unit-test.

It would be so much appreciated if someone could give us some hints on
how to fix the problems (i.e. possible tweak on the unit-test code,
configuration of our hardware, host kernel setup, etc...).

Thanks!

Shih-Wei


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

* Re: kvm-unit-test failed to complete
  2015-07-29 18:18 kvm-unit-test failed to complete Shih-Wei Li
@ 2015-07-29 18:30 ` Christoffer Dall
  2015-07-29 18:38   ` Shih-Wei Li
  0 siblings, 1 reply; 6+ messages in thread
From: Christoffer Dall @ 2015-07-29 18:30 UTC (permalink / raw)
  To: Shih-Wei Li; +Cc: kvm, Christoffer Dall

Hi Shih-Wei,

[Something weird happened when sending these e-mails, you sent two where
one seems to be a slight modification of the other?]

On Wed, Jul 29, 2015 at 02:18:23PM -0400, Shih-Wei Li wrote:
> Hi all,
> 
> This is Shih-Wei, I'm Christoffer's colleague at Columbia University.
> We have experienced some problems in running kvm-unit-tests in our
> environment.
> Here's what we did:
> ./configure
> make
> ./run_test.sh
> 
> run_test.sh halted in some specific test items and couldn't finish the
> run. I managed to get it finish running after removing the following
> items:
> x86/apic.c:
> -> removed:
> test_sti_nmi();
> test_multiple_nmi();

I'm wondering if there's a dependency on the version of QEMU?  Have you
tried with the most recent upstream QEMU?

-Christoffer

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

* Re: kvm-unit-test failed to complete
  2015-07-29 18:30 ` Christoffer Dall
@ 2015-07-29 18:38   ` Shih-Wei Li
  2015-07-30  1:04     ` Shih-Wei Li
  0 siblings, 1 reply; 6+ messages in thread
From: Shih-Wei Li @ 2015-07-29 18:38 UTC (permalink / raw)
  To: Christoffer Dall; +Cc: kvm, Christoffer Dall

On Wed, Jul 29, 2015 at 2:30 PM, Christoffer Dall <cdall@cs.columbia.edu> wrote:
> Hi Shih-Wei,
>
> [Something weird happened when sending these e-mails, you sent two where
> one seems to be a slight modification of the other?]

yes, the previous one just got rejected by the mailing list. sorry
about the spam.

>
> On Wed, Jul 29, 2015 at 02:18:23PM -0400, Shih-Wei Li wrote:
>> Hi all,
>>
>> This is Shih-Wei, I'm Christoffer's colleague at Columbia University.
>> We have experienced some problems in running kvm-unit-tests in our
>> environment.
>> Here's what we did:
>> ./configure
>> make
>> ./run_test.sh
>>
>> run_test.sh halted in some specific test items and couldn't finish the
>> run. I managed to get it finish running after removing the following
>> items:
>> x86/apic.c:
>> -> removed:
>> test_sti_nmi();
>> test_multiple_nmi();
>
> I'm wondering if there's a dependency on the version of QEMU?  Have you
> tried with the most recent upstream QEMU?

I haven't, but I will try. We are using qemu 2.2.50 now.

>
> -Christoffer

Shih-Wei


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

* Re: kvm-unit-test failed to complete
  2015-07-29 18:38   ` Shih-Wei Li
@ 2015-07-30  1:04     ` Shih-Wei Li
  2015-07-30  4:41       ` Bandan Das
  0 siblings, 1 reply; 6+ messages in thread
From: Shih-Wei Li @ 2015-07-30  1:04 UTC (permalink / raw)
  To: Christoffer Dall; +Cc: kvm, Christoffer Dall

On Wed, Jul 29, 2015 at 2:38 PM, Shih-Wei Li <shihwei@cs.columbia.edu> wrote:
> On Wed, Jul 29, 2015 at 2:30 PM, Christoffer Dall <cdall@cs.columbia.edu> wrote:
>> Hi Shih-Wei,
>>
>> [Something weird happened when sending these e-mails, you sent two where
>> one seems to be a slight modification of the other?]
>
> yes, the previous one just got rejected by the mailing list. sorry
> about the spam.
>
>>
>> On Wed, Jul 29, 2015 at 02:18:23PM -0400, Shih-Wei Li wrote:
>>> Hi all,
>>>
>>> This is Shih-Wei, I'm Christoffer's colleague at Columbia University.
>>> We have experienced some problems in running kvm-unit-tests in our
>>> environment.
>>> Here's what we did:
>>> ./configure
>>> make
>>> ./run_test.sh
>>>
>>> run_test.sh halted in some specific test items and couldn't finish the
>>> run. I managed to get it finish running after removing the following
>>> items:
>>> x86/apic.c:
>>> -> removed:
>>> test_sti_nmi();
>>> test_multiple_nmi();
>>
>> I'm wondering if there's a dependency on the version of QEMU?  Have you
>> tried with the most recent upstream QEMU?
>
> I haven't, but I will try. We are using qemu 2.2.50 now.

Here's the update. I just used the upstream QEMU to run kvm-unit-test,
but it still failed to finish the same test items I mentioned earlier.


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

* Re: kvm-unit-test failed to complete
  2015-07-30  1:04     ` Shih-Wei Li
@ 2015-07-30  4:41       ` Bandan Das
  2015-07-30 13:32         ` Paolo Bonzini
  0 siblings, 1 reply; 6+ messages in thread
From: Bandan Das @ 2015-07-30  4:41 UTC (permalink / raw)
  To: Shih-Wei Li, Paolo Bonzini; +Cc: Christoffer Dall, kvm, Christoffer Dall

Shih-Wei Li <shihwei@cs.columbia.edu> writes:

> On Wed, Jul 29, 2015 at 2:38 PM, Shih-Wei Li <shihwei@cs.columbia.edu> wrote:
>> On Wed, Jul 29, 2015 at 2:30 PM, Christoffer Dall <cdall@cs.columbia.edu> wrote:
>>> Hi Shih-Wei,
>>>
>>> [Something weird happened when sending these e-mails, you sent two where
>>> one seems to be a slight modification of the other?]
>>
>> yes, the previous one just got rejected by the mailing list. sorry
>> about the spam.
>>
>>>
>>> On Wed, Jul 29, 2015 at 02:18:23PM -0400, Shih-Wei Li wrote:
>>>> Hi all,
>>>>
>>>> This is Shih-Wei, I'm Christoffer's colleague at Columbia University.
>>>> We have experienced some problems in running kvm-unit-tests in our
>>>> environment.
>>>> Here's what we did:
>>>> ./configure
>>>> make
>>>> ./run_test.sh
>>>>
>>>> run_test.sh halted in some specific test items and couldn't finish the
>>>> run. I managed to get it finish running after removing the following
>>>> items:
>>>> x86/apic.c:
>>>> -> removed:
>>>> test_sti_nmi();
>>>> test_multiple_nmi();
>>>
>>> I'm wondering if there's a dependency on the version of QEMU?  Have you
>>> tried with the most recent upstream QEMU?
>>
>> I haven't, but I will try. We are using qemu 2.2.50 now.
>
> Here's the update. I just used the upstream QEMU to run kvm-unit-test,
> but it still failed to finish the same test items I mentioned earlier.

(Just a cursory look) It seems this commit introduced it -

commit 402d4596789335f540a0697955f6dcf43e2bb796
Author: Paolo Bonzini <pbonzini@redhat.com>
Date:   Thu Jul 23 09:16:45 2015 +0200

    x86: load 64-bit segments into the segment registers
    
    kvm-unit-tests was keeping DS/ES/FS/GS loaded with the segment descriptors
    provided by the multiboot boot loader (which are 32-bit), and instead loading
    SS with 0.  The vmx.flat test failed because KVM did not like doing writes
    into such an SS.
    
    Load again the segment registers after entering 64-bit mode, for both
    the BSP and the APs.
    
    Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>

diff --git a/x86/cstart64.S b/x86/cstart64.S
index 8d0d95d..8d5ee2d 100644
--- a/x86/cstart64.S
+++ b/x86/cstart64.S
@@ -213,7 +213,11 @@ idt_descr:
 
 load_tss:
        lidtq idt_descr
-       mov $0, %eax
+       mov $0x10, %eax
+       mov %ax, %ds
+       mov %ax, %es
+       mov %ax, %fs
+       mov %ax, %gs
        mov %ax, %ss
        mov $(APIC_DEFAULT_PHYS_BASE + APIC_ID), %eax
        mov (%rax), %eax

Paolo, what is the purpose of initializing %gs and %fs ? It seems if I comment
out "mov %ax, %gs", the test works.

handle_irq() does seem to trigger but the handler doesn't seem
to get called if %gs is initialized. Weird.

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

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

* Re: kvm-unit-test failed to complete
  2015-07-30  4:41       ` Bandan Das
@ 2015-07-30 13:32         ` Paolo Bonzini
  0 siblings, 0 replies; 6+ messages in thread
From: Paolo Bonzini @ 2015-07-30 13:32 UTC (permalink / raw)
  To: Bandan Das, Shih-Wei Li; +Cc: Christoffer Dall, kvm, Christoffer Dall



On 30/07/2015 06:41, Bandan Das wrote:
> 
> diff --git a/x86/cstart64.S b/x86/cstart64.S
> index 8d0d95d..8d5ee2d 100644
> --- a/x86/cstart64.S
> +++ b/x86/cstart64.S
> @@ -213,7 +213,11 @@ idt_descr:
>  
>  load_tss:
>         lidtq idt_descr
> -       mov $0, %eax
> +       mov $0x10, %eax
> +       mov %ax, %ds
> +       mov %ax, %es
> +       mov %ax, %fs
> +       mov %ax, %gs
>         mov %ax, %ss
>         mov $(APIC_DEFAULT_PHYS_BASE + APIC_ID), %eax
>         mov (%rax), %eax
> 
> Paolo, what is the purpose of initializing %gs and %fs ? It seems if I comment
> out "mov %ax, %gs", the test works.

Oh, you're right!  setup_percpu_area writes the GS base.  Also the 0x10
selector is the same between the 32-bit and 64-bit GDT, so it should be
okay to remove the whole sequence of moves (from mov $0, %eax to mov
%ax, %ss).

Paolo

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

end of thread, other threads:[~2015-07-30 13:32 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2015-07-29 18:18 kvm-unit-test failed to complete Shih-Wei Li
2015-07-29 18:30 ` Christoffer Dall
2015-07-29 18:38   ` Shih-Wei Li
2015-07-30  1:04     ` Shih-Wei Li
2015-07-30  4:41       ` Bandan Das
2015-07-30 13:32         ` Paolo Bonzini

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.