Book3s suffered from my really bad shadow MMU implementation so far. So I finally got around to implement a combined hash and list mechanism that allows for much faster lookup of mapped pages. To show that it really is faster, I tried to run simple process spawning code inside the guest with and without these patches: [without] debian-powerpc:~# time for i in {1..1000}; do /bin/echo hello > /dev/null; done real 0m20.235s user 0m10.418s sys 0m9.766s [with] debian-powerpc:~# time for i in {1..1000}; do /bin/echo hello > /dev/null; done real 0m14.659s user 0m8.967s sys 0m5.688s So as you can see, performance improved significantly. v2 -> v3: - use hlist - use global slab cache Alexander Graf (2): KVM: PPC: Add generic hpte management functions KVM: PPC: Make use of hash based Shadow MMU arch/powerpc/include/asm/kvm_book3s.h | 9 + arch/powerpc/include/asm/kvm_host.h | 17 ++- arch/powerpc/kvm/Makefile | 2 + arch/powerpc/kvm/book3s.c | 14 ++- arch/powerpc/kvm/book3s_32_mmu_host.c | 104 ++----------- arch/powerpc/kvm/book3s_64_mmu_host.c | 98 +----------- arch/powerpc/kvm/book3s_mmu_hpte.c | 277 +++++++++++++++++++++++++++++++++ 7 files changed, 331 insertions(+), 190 deletions(-) create mode 100644 arch/powerpc/kvm/book3s_mmu_hpte.c -- To unsubscribe from this list: send the line "unsubscribe kvm" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html