[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PATCH v3 0/6] Introduce bit-based phys_ram_dirty, and bit-
From: |
Yoshiaki Tamura |
Subject: |
[Qemu-devel] [PATCH v3 0/6] Introduce bit-based phys_ram_dirty, and bit-based dirty page checker. |
Date: |
Mon, 19 Apr 2010 18:43:12 +0900 |
The dirty and non-dirty pages are checked one by one. When most of the memory
is not dirty, checking the dirty and non-dirty pages by multiple page size
should be much faster than checking them one by one. We introduced bit-based
phys_ram_dirty for VGA, CODE, MIGRATION, MASTER, and
cpu_physical_memory_get_dirty_range() for this purpose.
Changes from v2 to v3 are:
- Change FLAGS value to (1,2,4,8), and add IDX (0,1,2,3)
- Use ffs to convert FLAGS to IDX.
- Add a helper function which takes IDX.
- Change the behavior of MASTER as a buffer.
- Change dirty bitmap access to a loop.
- Add brace after if ()
- Move some macros to qemu-common.h.
Yoshiaki Tamura (6):
Modify DIRTY_FLAG value and DIRTY_IDX introduce to use as indexes of
bit-based phys_ram_dirty.
Introduce bit-based phys_ram_dirty for VGA, CODE, MIGRATION and
MASTER.
Modifies wrapper functions for byte-based phys_ram_dirty bitmap to
bit-based phys_ram_dirty bitmap.
Introduce cpu_physical_memory_get_dirty_range().
Use cpu_physical_memory_set_dirty_range() to update phys_ram_dirty.
Use cpu_physical_memory_get_dirty_range() to check multiple dirty
pages.
arch_init.c | 54 ++++++++++++++---------
bswap.h | 2 +
cpu-all.h | 131 ++++++++++++++++++++++++++++++++++++++++++++++++--------
exec.c | 83 ++++++++++++++++++++++++++++++++++--
kvm-all.c | 33 +++++++--------
qemu-common.h | 3 +
6 files changed, 243 insertions(+), 63 deletions(-)
- [Qemu-devel] [PATCH v3 0/6] Introduce bit-based phys_ram_dirty, and bit-based dirty page checker.,
Yoshiaki Tamura <=
- [Qemu-devel] [PATCH v3 6/6] Use cpu_physical_memory_get_dirty_range() to check multiple dirty pages., Yoshiaki Tamura, 2010/04/19
- [Qemu-devel] [PATCH v3 3/6] Modifies wrapper functions for byte-based phys_ram_dirty bitmap to bit-based phys_ram_dirty bitmap., Yoshiaki Tamura, 2010/04/19
- [Qemu-devel] [PATCH v3 1/6] Modify DIRTY_FLAG value and DIRTY_IDX introduce to use as indexes of bit-based phys_ram_dirty., Yoshiaki Tamura, 2010/04/19
- [Qemu-devel] [PATCH v3 4/6] Introduce cpu_physical_memory_get_dirty_range()., Yoshiaki Tamura, 2010/04/19
- [Qemu-devel] [PATCH v3 5/6] Use cpu_physical_memory_set_dirty_range() to update phys_ram_dirty., Yoshiaki Tamura, 2010/04/19
- [Qemu-devel] [PATCH v3 2/6] Introduce bit-based phys_ram_dirty for VGA, CODE, MIGRATION and MASTER., Yoshiaki Tamura, 2010/04/19