Re: [PATCH 00/13] KVM: PPC: e500: SPE and MMU

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

 



On 06.06.2011, at 23:48, Alexander Graf wrote:

> 
> On 06.06.2011, at 20:38, Scott Wood wrote:
> 
>> On Sat, 4 Jun 2011 01:59:34 +0200
>> Alexander Graf <agraf@xxxxxxx> wrote:
>> 
>>> 
>>> On 03.06.2011, at 01:15, Scott Wood wrote:
>>> 
>>>> This patchset contains SPE state management for e500 KVM guests, as well
>>>> as MMU enhancements (performance, userspace visibility, and support for
>>>> mapping things that aren't standard kernel-managed pages).
>>>> 
>>>> They are combined into one patchset because they both touch the
>>>> MSR update code.
>>> 
>>> I figured I'd try something new and just applied the whole patch set to see if it actually works. Of course it doesn't :). When I start a guest, it hangs at the point below in guest context and loops at 100%. Trying to dump the registers makes the whole process stall and drop down to 0% cpu usage. Only an external kill helps by then.
>> 
>> Works for me, with qemu d800040fb47fe4500d1f8bf604b9fd129bda9419 and the
>> patchset applied to kernel f19ae5734c8d729edee7ad96179b507561541981, same
>> kernel as guest.  Dumping registers works without noticable delay.
>> 
>>> root@e500:/dev/shm/qemu# ./ppc-softmmu/qemu-system-ppc -nographic -kernel /boot/uImage.autotest -append 'root=/dev/vda3 console=ttyS0 rw' -enable-kvm -m 512 -M mpc8544ds -drive file=/dev/shm/test.qcow2,index=0,if=virtio
>>> KVM: Couldn't find level irq capability. Expect the VM to stall at times!
>> 
>> Why couldn't it find level irq capability?  What kernel tree/headers are you
>> using?
> 
> Ugh - I was building that one manually with old headers. No change with recent ones though. I hit the change in behavior through autotest, where I build everything with proper headers.
> 
>> 
>>> (gdb) l *0xc000e344
>>> 0xc000e344 is at arch/powerpc/kernel/idle_e500.S:74.
>>> 69		oris	r7,r7,MSR_WE@h
>>> 70		ori	r7,r7,MSR_EE
>>> 71		msync
>>> 72		mtmsr	r7
>>> 73		isync
>>> 74	2:	b	2b
>>> 75	
>>> 76	/*
>>> 77	 * Return from NAP/DOZE mode, restore some CPU specific registers,
>>> 78	 * r2 containing physical address of current.
>> 
>> So, the guest is idle.
>> 
>> Are you using i/o thread?  I had very similar problems without it, IIRC
>> before making any of these changes.
> 
> This is without i/o thread, as that one's still got shortcomings on PPC and is considered unstable :). My tests worked fine without iothread before your patches, now they break. This could however be related to us getting less exits from the VM. It could also be a bug in the magic page code. Still trying to debug it.

Disabling the magic page doesn't change the picture, so that one's ruled out :).


Alex

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


[Index of Archives]     [KVM Development]     [KVM ARM]     [KVM ia64]     [Linux Virtualization]     [Linux USB Devel]     [Linux Video]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [Big List of Linux Books]

  Powered by Linux