qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Qemu-devel] [PATCH v2 0/3] memory: an optimization


From: Gonglei
Subject: [Qemu-devel] [PATCH v2 0/3] memory: an optimization
Date: Mon, 22 Feb 2016 16:34:54 +0800

Perf top tells me qemu_get_ram_ptr consume some cpu cycles.

Before this optimization:
  1.26%  qemu-kvm                  [.] qemu_get_ram_ptr
  0.89%  qemu-kvm                  [.] qemu_get_ram_block

Applied the patch set:
 0.87%  qemu-kvm                 [.] qemu_get_ram_ptr

And Paolo suggested that we can get rid of qemu_get_ram_ptr
by storing the RAMBlock pointer into the memory region,
instead of the ram_addr_t value. And after appling this change,
I got much better performance indeed.

BTW, PATCH 3 is an occasional find.

v2:
 - using 'struct RAMBlock *' instead of 'void *' in patch 1 [Fam]
 - drop superfluous comments in patch 1 [Fam]

Gonglei (3):
  exec: store RAMBlock pointer into memory region
  memory: optimize qemu_get_ram_ptr and qemu_ram_ptr_length
  memory: Remove the superfluous code

 exec.c                | 48 ++++++++++++++++++++++++++++++------------------
 include/exec/memory.h |  8 ++++----
 memory.c              |  3 ++-
 3 files changed, 36 insertions(+), 23 deletions(-)

-- 
1.8.5.2





reply via email to

[Prev in Thread] Current Thread [Next in Thread]