The first four patches drop ram_addr from MemoryRegion on top of Gonglei's optimization.
The next patch simplifies qemu_ram_free a bit by passing the RAMBlock pointer. The last patch speeds up address_space_translate with a cache pointer inside the AddressSpaceDispatch. Fam Zheng (6): exec: Return RAMBlock pointer from allocating functions memory: Move assignment to ram_block to memory_region_init_* memory: Implement memory_region_get_ram_addr with mr->ram_block memory: Drop MemoryRegion.ram_addr exec: Pass RAMBlock pointer to qemu_ram_free exec: Introduce AddressSpaceDispatch.mru_section cputlb.c | 4 +-- exec.c | 93 ++++++++++++++++++++++++------------------------- hw/misc/ivshmem.c | 9 +++-- include/exec/memory.h | 9 +---- include/exec/ram_addr.h | 24 ++++++------- kvm-all.c | 3 +- memory.c | 56 ++++++++++++++++------------- 7 files changed, 101 insertions(+), 97 deletions(-) -- 2.4.3