The memory core now has double indirection during dma or kvm I/O dispatch: first we lookup a MemoryRegionSection from the memory page table, then we look up the ram_addr to dispatch the I/O operation.
This patchset eliminates the second lookup. To do that, we now store a MemoryRegionSection index in the iotlb instead of a ram_addr. The patches were posted on the list a few days ago and received no negative (or positive) review, and testing with the qemu images seems to work fine. Please pull from: git://git.kernel.org/pub/scm/virt/kvm/qemu-kvm.git memory/core ---------------------------------------------------------------- Avi Kivity (5): memory: make phys_page_find() return an unadjusted section memory: store section indices in iotlb instead of io indices exec: fix code tlb entry misused as iotlb in get_page_addr_code() memory: dispatch directly via MemoryRegion memory: get rid of cpu_register_io_memory() cpu-all.h | 8 - exec-all.h | 9 +- exec-obsolete.h | 3 - exec.c | 362 ++++++++++++++++++++-------------------------------- memory.c | 13 +- softmmu_template.h | 40 +++--- 6 files changed, 168 insertions(+), 267 deletions(-) -- error compiling committee.c: too many arguments to function