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