This patch set improves the shadow TLB handling of our e500
target.
The really important bit here is that with these patches applied,
we can map guest TLB1 entries into the host's TLB0. This gives a
significant performance improvement as you can see below.
Alex
---
without patch, using 4k backed memory:
$ time for i in {1..1000}; do /bin/echo > /dev/null; done
real 0m12.947s
user 0m1.076s
sys 0m9.720s
with hugetlbfs:
$ time for i in {1..1000}; do /bin/echo > /dev/null; done
real 0m3.262s
user 0m0.464s
sys 0m0.236s
with patches applied, using 4k backed memory:
$ time for i in {1..1000}; do /bin/echo > /dev/null; done
real 0m4.446s
user 0m0.380s
sys 0m0.644s
Alexander Graf (3):
KVM: PPC: e500: Call kvmppc_mmu_map for initial mapping
KVM: PPC: E500: Split host and guest MMU parts
KVM: PPC: e500: Implement TLB1-in-TLB0 mapping
arch/powerpc/kvm/Makefile | 9 +-
arch/powerpc/kvm/e500.h | 5 +-
arch/powerpc/kvm/e500_mmu.c | 812 +++++++++++++++++++++
arch/powerpc/kvm/e500_mmu_host.c | 686 ++++++++++++++++++
arch/powerpc/kvm/e500_mmu_host.h | 20 +
arch/powerpc/kvm/e500_tlb.c | 1430 --------------------------------------
6 files changed, 1528 insertions(+), 1434 deletions(-)
create mode 100644 arch/powerpc/kvm/e500_mmu.c
create mode 100644 arch/powerpc/kvm/e500_mmu_host.c
create mode 100644 arch/powerpc/kvm/e500_mmu_host.h
delete mode 100644 arch/powerpc/kvm/e500_tlb.c
--
To unsubscribe from this list: send the line "unsubscribe kvm" in
the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html