[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH 13/29] ram_addr: tweaks to xen_modified_memory
From: |
Fam Zheng |
Subject: |
Re: [Qemu-devel] [PATCH 13/29] ram_addr: tweaks to xen_modified_memory |
Date: |
Tue, 26 May 2015 20:52:28 +0800 |
User-agent: |
Mutt/1.5.23 (2014-03-12) |
On Mon, 04/27 18:28, Paolo Bonzini wrote:
> Invoke xen_modified_memory from cpu_physical_memory_set_dirty_range_nocode;
> it is akin to DIRTY_MEMORY_MIGRATION, so set it together with that bitmap.
> The remaining call from invalidate_and_set_dirty's "else" branch will go
> away soon.
>
> Second, fix the second argument to the function in the
> cpu_physical_memory_set_dirty_lebitmap call site. That function is only used
> by KVM, but it is better to be clean anyway.
>
> Acked-by: Stefano Stabellini <address@hidden>
> Signed-off-by: Paolo Bonzini <address@hidden>
Reviewed-by: Fam Zheng <address@hidden>
> ---
> exec.c | 3 ++-
> include/exec/ram_addr.h | 3 ++-
> 2 files changed, 4 insertions(+), 2 deletions(-)
>
> diff --git a/exec.c b/exec.c
> index 4717928..083d65d 100644
> --- a/exec.c
> +++ b/exec.c
> @@ -2260,8 +2260,9 @@ static void invalidate_and_set_dirty(hwaddr addr,
> if (cpu_physical_memory_range_includes_clean(addr, length)) {
> tb_invalidate_phys_range(addr, addr + length, 0);
> cpu_physical_memory_set_dirty_range_nocode(addr, length);
> + } else {
> + xen_modified_memory(addr, length);
> }
> - xen_modified_memory(addr, length);
> }
>
> static int memory_access_size(MemoryRegion *mr, unsigned l, hwaddr addr)
> diff --git a/include/exec/ram_addr.h b/include/exec/ram_addr.h
> index ff558a4..7f6e928 100644
> --- a/include/exec/ram_addr.h
> +++ b/include/exec/ram_addr.h
> @@ -112,6 +112,7 @@ static inline void
> cpu_physical_memory_set_dirty_range_nocode(ram_addr_t start,
> page = start >> TARGET_PAGE_BITS;
> bitmap_set(ram_list.dirty_memory[DIRTY_MEMORY_MIGRATION], page, end -
> page);
> bitmap_set(ram_list.dirty_memory[DIRTY_MEMORY_VGA], page, end - page);
> + xen_modified_memory(start, length);
> }
>
> static inline void cpu_physical_memory_set_dirty_range(ram_addr_t start,
> @@ -155,7 +156,7 @@ static inline void
> cpu_physical_memory_set_dirty_lebitmap(unsigned long *bitmap,
> ram_list.dirty_memory[DIRTY_MEMORY_CODE][page + k] |= temp;
> }
> }
> - xen_modified_memory(start, pages);
> + xen_modified_memory(start, pages << TARGET_PAGE_BITS);
> } else {
> /*
> * bitmap-traveling is faster than memory-traveling (for addr...)
> --
> 1.8.3.1
>
>
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- Re: [Qemu-devel] [PATCH 13/29] ram_addr: tweaks to xen_modified_memory,
Fam Zheng <=