[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PATCH 0/6] flush TLBs for one MMUidx only, missing AArch64
From: |
Peter Maydell |
Subject: |
[Qemu-devel] [PATCH 0/6] flush TLBs for one MMUidx only, missing AArch64 TLB ops |
Date: |
Fri, 7 Aug 2015 13:33:24 +0100 |
This series does three things:
(1) implement the "flush the TLB only for a specified MMU index"
functionality that we talked about when we added all the new
MMU index values for ARM for EL2 and EL3
(2) use that to restrict the AArch64 TLB maintenance operations
to only the MMU indexes they need to touch
(3) add all the missing EL2 and EL3 related TLB operations for
AArch64
I did a quick performance test by running hackbench. Measuring
suggests that performance is improved by between half and one
percent, which isn't fantastic but then I don't know how much
of hackbench's runtime is bottlenecked by TLB flushes. I would
expect that a workload that actually used EL2 and EL3 will
benefit by not having the EL2 and EL3 flushes taking out the
EL1&0 TLB too.
Disclaimer: the EL2 and EL3 parts of this code are untested
because we haven't completely implemented those for AArch64 yet.
Peter Maydell (6):
cputlb: Add functions for flushing TLB for a single MMU index
target-arm: Move TLBI ALLE1/ALLE1IS definitions into numeric order
target-arm: Restrict AArch64 TLB flushes to the MMU indexes they must
touch
target-arm: Implement missing EL2 TLBI operations
target-arm: Implement missing EL3 TLB invalidate operations
target-arm: Implement AArch64 TLBI operations on IPAs
cputlb.c | 81 ++++++++++++
include/exec/exec-all.h | 47 +++++++
target-arm/helper.c | 329 +++++++++++++++++++++++++++++++++++++++++-------
3 files changed, 412 insertions(+), 45 deletions(-)
--
1.9.1
- [Qemu-devel] [PATCH 0/6] flush TLBs for one MMUidx only, missing AArch64 TLB ops,
Peter Maydell <=
- [Qemu-devel] [PATCH 1/6] cputlb: Add functions for flushing TLB for a single MMU index, Peter Maydell, 2015/08/07
- [Qemu-devel] [PATCH 4/6] target-arm: Implement missing EL2 TLBI operations, Peter Maydell, 2015/08/07
- [Qemu-devel] [PATCH 6/6] target-arm: Implement AArch64 TLBI operations on IPAs, Peter Maydell, 2015/08/07
- [Qemu-devel] [PATCH 3/6] target-arm: Restrict AArch64 TLB flushes to the MMU indexes they must touch, Peter Maydell, 2015/08/07
- [Qemu-devel] [PATCH 5/6] target-arm: Implement missing EL3 TLB invalidate operations, Peter Maydell, 2015/08/07
- [Qemu-devel] [PATCH 2/6] target-arm: Move TLBI ALLE1/ALLE1IS definitions into numeric order, Peter Maydell, 2015/08/07
- Re: [Qemu-devel] [PATCH 0/6] flush TLBs for one MMUidx only, missing AArch64 TLB ops, Edgar E. Iglesias, 2015/08/13