From: Paolo Bonzini <pbonzini@redhat.com>
To: qemu-devel@nongnu.org
Subject: [Qemu-devel] [PATCH 0/4] exec: reintroduce MemoryRegion caching
Date: Tue, 17 Apr 2018 16:07:58 +0200 [thread overview]
Message-ID: <20180417140802.16711-1-pbonzini@redhat.com> (raw)
MemoryRegionCache was reverted to "normal" address_space_* operations
for 2.9, due to lack of support for IOMMUs. This series reinstates
optimizations, caching only the IOMMU translation but not the IOMMU
lookup and target AddressSpace translation.
Patches 1 to 3 prepare by introducing a new function
address_space_translate_iommu (split out of address_space_translate)
and new header files for declarations shared by regular and "cached"
address_space_* functions. Patch 4 uses them to introduce both
the slow path for IOMMU and MMIO cached regions, and the fast path
for RAM cached regions.
Paolo
Paolo Bonzini (4):
exec: move memory access declarations to a common header, inline
*_phys functions
exec: small changes to flatview_do_translate
exec: extract address_space_translate_iommu, fix page_mask corner case
exec: reintroduce MemoryRegion caching
exec.c | 245 ++++++++++++++++++++------
include/exec/cpu-all.h | 79 ++++-----
include/exec/memory-internal.h | 3 +
include/exec/memory.h | 209 ++++++++++------------
include/exec/memory_ldst.inc.h | 71 ++++++++
include/exec/memory_ldst_cached.inc.h | 108 ++++++++++++
include/exec/memory_ldst_phys.inc.h | 147 ++++++++++++++++
memory.c | 4 +-
memory_ldst.inc.c | 126 -------------
9 files changed, 651 insertions(+), 341 deletions(-)
create mode 100644 include/exec/memory_ldst.inc.h
create mode 100644 include/exec/memory_ldst_cached.inc.h
create mode 100644 include/exec/memory_ldst_phys.inc.h
--
2.17.0
next reply other threads:[~2018-04-17 14:08 UTC|newest]
Thread overview: 12+ messages / expand[flat|nested] mbox.gz Atom feed top
2018-04-17 14:07 Paolo Bonzini [this message]
2018-04-17 14:07 ` [Qemu-devel] [PATCH 1/4] exec: move memory access declarations to a common header, inline *_phys functions Paolo Bonzini
2018-04-17 14:08 ` [Qemu-devel] [PATCH 2/4] exec: small changes to flatview_do_translate Paolo Bonzini
2018-05-04 4:21 ` Peter Xu
2018-04-17 14:08 ` [Qemu-devel] [PATCH 3/4] exec: extract address_space_translate_iommu, fix page_mask corner case Paolo Bonzini
2018-05-04 4:22 ` Peter Xu
2018-05-04 7:33 ` Paolo Bonzini
2018-04-17 14:08 ` [Qemu-devel] [PATCH 4/4] exec: reintroduce MemoryRegion caching Paolo Bonzini
2018-05-16 10:41 ` [Qemu-devel] [PATCH 0/4] " Auger Eric
2018-05-16 10:42 ` Paolo Bonzini
2018-05-16 13:38 ` Auger Eric
2018-05-16 13:49 ` Auger Eric
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=20180417140802.16711-1-pbonzini@redhat.com \
--to=pbonzini@redhat.com \
--cc=qemu-devel@nongnu.org \
/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;
as well as URLs for NNTP newsgroup(s).