All of lore.kernel.org
 help / color / mirror / Atom feed
* [Qemu-devel] [PATCH RFC 0/5] making address spaces 64 bit wide
@ 2013-11-11 16:40 Michael S. Tsirkin
  2013-11-11 16:40 ` [Qemu-devel] [PATCH RFC 1/5] split definitions for exec.c and translate-all.c radix trees Michael S. Tsirkin
                   ` (5 more replies)
  0 siblings, 6 replies; 8+ messages in thread
From: Michael S. Tsirkin @ 2013-11-11 16:40 UTC (permalink / raw)
  To: qemu-devel; +Cc: Paolo Bonzini, Luiz Capitulino

At the moment, exec ignores high bits in each address,
for efficiency.
This is incorrect: devices can do full 64 bit DMA, it's
only the CPU that is limited by target address space.
Using full 64 bit addresses was clocked at 12% performance
hit on a microbenchmark.
To solve, teach pagetables to skip bits at any level
and not just the lowest level.

This should solve the performance problem (only one line
of code changed on the data path).
I'm still trying to figure out how to measure speed
properly with TCG, sending this out for early feedback and flames.

Michael S. Tsirkin (3):
  exec: relace leaf with skip
  exec: extend skip field to 3 bits
  exec: memory radix tree page level compression

Paolo Bonzini (2):
  split definitions for exec.c and translate-all.c radix trees
  exec: make address spaces 64-bit wide

 translate-all.h |   7 ----
 exec.c          | 117 +++++++++++++++++++++++++++++++++++++++++++++++---------
 translate-all.c |  32 +++++++++-------
 3 files changed, 117 insertions(+), 39 deletions(-)

-- 
MST

^ permalink raw reply	[flat|nested] 8+ messages in thread

end of thread, other threads:[~2013-11-11 17:58 UTC | newest]

Thread overview: 8+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2013-11-11 16:40 [Qemu-devel] [PATCH RFC 0/5] making address spaces 64 bit wide Michael S. Tsirkin
2013-11-11 16:40 ` [Qemu-devel] [PATCH RFC 1/5] split definitions for exec.c and translate-all.c radix trees Michael S. Tsirkin
2013-11-11 16:40 ` [Qemu-devel] [PATCH RFC 2/5] exec: make address spaces 64-bit wide Michael S. Tsirkin
2013-11-11 16:40 ` [Qemu-devel] [PATCH RFC 3/5] exec: relace leaf with skip Michael S. Tsirkin
2013-11-11 16:41 ` [Qemu-devel] [PATCH RFC 4/5] exec: extend skip field to 3 bits Michael S. Tsirkin
2013-11-11 16:41 ` [Qemu-devel] [PATCH RFC 5/5] exec: memory radix tree page level compression Michael S. Tsirkin
2013-11-11 17:58   ` Eric Blake
2013-11-11 16:59 ` [Qemu-devel] [PATCH RFC 0/5] making address spaces 64 bit wide Paolo Bonzini

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.