From: Alexander Graf <agraf@suse.de>
To: kvm-ppc@vger.kernel.org
Cc: kvm@vger.kernel.org, Scott Wood <scottwood@freescale.com>
Subject: [PATCH v2 0/6] KVM: PPC: e500: Shadow TLB Improvements v2
Date: Fri, 18 Jan 2013 02:34:51 +0000 [thread overview]
Message-ID: <1358476497-15215-1-git-send-email-agraf@suse.de> (raw)
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
v1 -> v2:
- new patch: Move write_stlbe higher
- new patch: Explicitly mark shadow maps invalid
- new patch: Propagate errors when shadow mapping
- remove force init logic, it's handled by the explicit invalidate now
- leave stlbe uninitialized
- allow mixing of TLB0 and TLB1_BITMAP backing of TLB1 pages
---
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 (6):
KVM: PPC: E500: Move write_stlbe higher
KVM: PPC: E500: Explicitly mark shadow maps invalid
KVM: PPC: E500: Propagate errors when shadow mapping
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 | 1 +
arch/powerpc/kvm/e500_mmu.c | 811 +++++++++++++++++++++
arch/powerpc/kvm/e500_mmu_host.c | 699 +++++++++++++++++++
arch/powerpc/kvm/e500_mmu_host.h | 20 +
arch/powerpc/kvm/e500_tlb.c | 1430 --------------------------------------
6 files changed, 1537 insertions(+), 1433 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
next reply other threads:[~2013-01-18 2:34 UTC|newest]
Thread overview: 10+ messages / expand[flat|nested] mbox.gz Atom feed top
2013-01-18 2:34 Alexander Graf [this message]
2013-01-18 2:34 ` [PATCH 1/6] KVM: PPC: E500: Move write_stlbe higher Alexander Graf
2013-01-18 2:34 ` [PATCH 2/6] KVM: PPC: E500: Explicitly mark shadow maps invalid Alexander Graf
2013-01-18 3:05 ` Scott Wood
2013-01-18 14:08 ` Alexander Graf
2013-01-18 19:03 ` Scott Wood
2013-01-18 2:34 ` [PATCH 3/6] KVM: PPC: E500: Propagate errors when shadow mapping Alexander Graf
2013-01-18 2:34 ` [PATCH 4/6] KVM: PPC: e500: Call kvmppc_mmu_map for initial mapping Alexander Graf
2013-01-18 2:34 ` [PATCH 5/6] KVM: PPC: E500: Split host and guest MMU parts Alexander Graf
2013-01-18 2:34 ` [PATCH 6/6] KVM: PPC: e500: Implement TLB1-in-TLB0 mapping Alexander Graf
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1358476497-15215-1-git-send-email-agraf@suse.de \
--to=agraf@suse.de \
--cc=kvm-ppc@vger.kernel.org \
--cc=kvm@vger.kernel.org \
--cc=scottwood@freescale.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox