qemu-devel
[Top][All Lists]
Advanced

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

Re: [Qemu-devel] [PATCH 10/38] memory: cpu_physical_memory_set_dirty_ran


From: Orit Wasserman
Subject: Re: [Qemu-devel] [PATCH 10/38] memory: cpu_physical_memory_set_dirty_range() always dirty all flags
Date: Wed, 18 Dec 2013 12:12:32 +0200
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:24.0) Gecko/20100101 Thunderbird/24.1.0

On 12/17/2013 05:25 PM, Juan Quintela wrote:
So remove the flag argument and do it directly.  After this change,
there is nothing else using cpu_physical_memory_set_dirty_flags() so
remove it.

Signed-off-by: Juan Quintela <address@hidden>
Reviewed-by: Eric Blake <address@hidden>
---
  exec.c                         |  2 +-
  include/exec/memory-internal.h | 11 ++---------
  memory.c                       |  2 +-
  3 files changed, 4 insertions(+), 11 deletions(-)

diff --git a/exec.c b/exec.c
index 6981f73..45fdb84 100644
--- a/exec.c
+++ b/exec.c
@@ -1274,7 +1274,7 @@ ram_addr_t qemu_ram_alloc_from_ptr(ram_addr_t size, void 
*host,
                                         last_ram_offset() >> TARGET_PAGE_BITS);
      memset(ram_list.phys_dirty + (new_block->offset >> TARGET_PAGE_BITS),
             0, size >> TARGET_PAGE_BITS);
-    cpu_physical_memory_set_dirty_range(new_block->offset, size, 0xff);
+    cpu_physical_memory_set_dirty_range(new_block->offset, size);

      qemu_ram_setup_dump(new_block->host, size);
      qemu_madvise(new_block->host, size, QEMU_MADV_HUGEPAGE);
diff --git a/include/exec/memory-internal.h b/include/exec/memory-internal.h
index 9f4ad69..681d63b 100644
--- a/include/exec/memory-internal.h
+++ b/include/exec/memory-internal.h
@@ -75,12 +75,6 @@ static inline int cpu_physical_memory_get_dirty(ram_addr_t 
start,
      return ret;
  }

-static inline void cpu_physical_memory_set_dirty_flags(ram_addr_t addr,
-                                                      int dirty_flags)
-{
-    ram_list.phys_dirty[addr >> TARGET_PAGE_BITS] |= dirty_flags;
-}
-
  static inline void cpu_physical_memory_set_dirty_flag(ram_addr_t addr,
                                                        int dirty_flag)
  {
@@ -103,15 +97,14 @@ static inline int 
cpu_physical_memory_clear_dirty_flags(ram_addr_t addr,
  }

  static inline void cpu_physical_memory_set_dirty_range(ram_addr_t start,
-                                                       ram_addr_t length,
-                                                       int dirty_flags)
+                                                       ram_addr_t length)
  {
      ram_addr_t addr, end;

      end = TARGET_PAGE_ALIGN(start + length);
      start &= TARGET_PAGE_MASK;
      for (addr = start; addr < end; addr += TARGET_PAGE_SIZE) {
-        cpu_physical_memory_set_dirty_flags(addr, dirty_flags);
+        cpu_physical_memory_set_dirty(addr);
      }
      xen_modified_memory(addr, length);
  }
diff --git a/memory.c b/memory.c
index e497f99..fb52e1c 100644
--- a/memory.c
+++ b/memory.c
@@ -1182,7 +1182,7 @@ void memory_region_set_dirty(MemoryRegion *mr, hwaddr 
addr,
                               hwaddr size)
  {
      assert(mr->terminates);
-    cpu_physical_memory_set_dirty_range(mr->ram_addr + addr, size, -1);
+    cpu_physical_memory_set_dirty_range(mr->ram_addr + addr, size);
  }

  bool memory_region_test_and_clear_dirty(MemoryRegion *mr, hwaddr addr,


Reviewed-by: Orit Wasserman <address@hidden>



reply via email to

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