[PATCH 2/6] system/ramblock: Move ram_block_is_pmem() declaration

Philippe Mathieu-Daudé posted 6 patches 1 month, 2 weeks ago
Maintainers: Paolo Bonzini <pbonzini@redhat.com>, "Maciej S. Szmigiero" <maciej.szmigiero@oracle.com>, "Michael S. Tsirkin" <mst@redhat.com>, David Hildenbrand <david@redhat.com>, Richard Henderson <richard.henderson@linaro.org>, "Philippe Mathieu-Daudé" <philmd@linaro.org>, Peter Xu <peterx@redhat.com>, Fabiano Rosas <farosas@suse.de>
There is a newer version of this series
[PATCH 2/6] system/ramblock: Move ram_block_is_pmem() declaration
Posted by Philippe Mathieu-Daudé 1 month, 2 weeks ago
Move ramblock_is_pmem() along with the RAM Block API
exposed by the "system/ramblock.h" header. Rename as
ram_block_is_pmem() to keep API prefix consistency.

Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>
---
 include/system/ram_addr.h | 2 --
 include/system/ramblock.h | 5 +++++
 migration/ram.c           | 3 ++-
 system/physmem.c          | 5 +++--
 4 files changed, 10 insertions(+), 5 deletions(-)

diff --git a/include/system/ram_addr.h b/include/system/ram_addr.h
index 15a1b1a4fa2..53c0c8c3856 100644
--- a/include/system/ram_addr.h
+++ b/include/system/ram_addr.h
@@ -99,8 +99,6 @@ static inline unsigned long int ramblock_recv_bitmap_offset(void *host_addr,
     return host_addr_offset >> TARGET_PAGE_BITS;
 }
 
-bool ramblock_is_pmem(RAMBlock *rb);
-
 /**
  * qemu_ram_alloc_from_file,
  * qemu_ram_alloc_from_fd:  Allocate a ram block from the specified backing
diff --git a/include/system/ramblock.h b/include/system/ramblock.h
index 8999206592d..12f64fbf78b 100644
--- a/include/system/ramblock.h
+++ b/include/system/ramblock.h
@@ -108,4 +108,9 @@ void ram_block_attributes_destroy(RamBlockAttributes *attr);
 int ram_block_attributes_state_change(RamBlockAttributes *attr, uint64_t offset,
                                       uint64_t size, bool to_discard);
 
+/**
+ * ramblock_is_pmem: Whether the RAM block is of persistent memory
+ */
+bool ram_block_is_pmem(RAMBlock *rb);
+
 #endif
diff --git a/migration/ram.c b/migration/ram.c
index 7208bc114fb..91e65be83d8 100644
--- a/migration/ram.c
+++ b/migration/ram.c
@@ -53,6 +53,7 @@
 #include "qemu/rcu_queue.h"
 #include "migration/colo.h"
 #include "system/cpu-throttle.h"
+#include "system/ramblock.h"
 #include "savevm.h"
 #include "qemu/iov.h"
 #include "multifd.h"
@@ -4367,7 +4368,7 @@ static bool ram_has_postcopy(void *opaque)
 {
     RAMBlock *rb;
     RAMBLOCK_FOREACH_NOT_IGNORED(rb) {
-        if (ramblock_is_pmem(rb)) {
+        if (ram_block_is_pmem(rb)) {
             info_report("Block: %s, host: %p is a nvdimm memory, postcopy"
                          "is not supported now!", rb->idstr, rb->host);
             return false;
diff --git a/system/physmem.c b/system/physmem.c
index ae8ecd50ea1..3766fae0aba 100644
--- a/system/physmem.c
+++ b/system/physmem.c
@@ -43,6 +43,7 @@
 #include "system/kvm.h"
 #include "system/tcg.h"
 #include "system/qtest.h"
+#include "system/ramblock.h"
 #include "qemu/timer.h"
 #include "qemu/config-file.h"
 #include "qemu/error-report.h"
@@ -1804,7 +1805,7 @@ void qemu_ram_msync(RAMBlock *block, ram_addr_t start, ram_addr_t length)
 
 #ifdef CONFIG_LIBPMEM
     /* The lack of support for pmem should not block the sync */
-    if (ramblock_is_pmem(block)) {
+    if (ram_block_is_pmem(block)) {
         void *addr = ramblock_ptr(block, start);
         pmem_persist(addr, length);
         return;
@@ -3943,7 +3944,7 @@ int ram_block_discard_guest_memfd_range(RAMBlock *rb, uint64_t start,
     return ret;
 }
 
-bool ramblock_is_pmem(RAMBlock *rb)
+bool ram_block_is_pmem(RAMBlock *rb)
 {
     return rb->flags & RAM_PMEM;
 }
-- 
2.51.0


Re: [PATCH 2/6] system/ramblock: Move ram_block_is_pmem() declaration
Posted by Alex Bennée 1 month, 2 weeks ago
Philippe Mathieu-Daudé <philmd@linaro.org> writes:

> Move ramblock_is_pmem() along with the RAM Block API
> exposed by the "system/ramblock.h" header. Rename as
> ram_block_is_pmem() to keep API prefix consistency.
>
> Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>
> ---
>  include/system/ram_addr.h | 2 --
>  include/system/ramblock.h | 5 +++++
>  migration/ram.c           | 3 ++-
>  system/physmem.c          | 5 +++--
>  4 files changed, 10 insertions(+), 5 deletions(-)
>
> diff --git a/include/system/ram_addr.h b/include/system/ram_addr.h
> index 15a1b1a4fa2..53c0c8c3856 100644
> --- a/include/system/ram_addr.h
> +++ b/include/system/ram_addr.h
> @@ -99,8 +99,6 @@ static inline unsigned long int ramblock_recv_bitmap_offset(void *host_addr,
>      return host_addr_offset >> TARGET_PAGE_BITS;
>  }
>  
> -bool ramblock_is_pmem(RAMBlock *rb);
> -
>  /**
>   * qemu_ram_alloc_from_file,
>   * qemu_ram_alloc_from_fd:  Allocate a ram block from the specified backing
> diff --git a/include/system/ramblock.h b/include/system/ramblock.h
> index 8999206592d..12f64fbf78b 100644
> --- a/include/system/ramblock.h
> +++ b/include/system/ramblock.h
> @@ -108,4 +108,9 @@ void ram_block_attributes_destroy(RamBlockAttributes *attr);
>  int ram_block_attributes_state_change(RamBlockAttributes *attr, uint64_t offset,
>                                        uint64_t size, bool to_discard);
>  
> +/**
> + * ramblock_is_pmem: Whether the RAM block is of persistent memory

missed a rename

Otherwise:

Reviewed-by: Alex Bennée <alex.bennee@linaro.org>


> + */
> +bool ram_block_is_pmem(RAMBlock *rb);
> +
>  #endif
> diff --git a/migration/ram.c b/migration/ram.c
> index 7208bc114fb..91e65be83d8 100644
> --- a/migration/ram.c
> +++ b/migration/ram.c
> @@ -53,6 +53,7 @@
>  #include "qemu/rcu_queue.h"
>  #include "migration/colo.h"
>  #include "system/cpu-throttle.h"
> +#include "system/ramblock.h"
>  #include "savevm.h"
>  #include "qemu/iov.h"
>  #include "multifd.h"
> @@ -4367,7 +4368,7 @@ static bool ram_has_postcopy(void *opaque)
>  {
>      RAMBlock *rb;
>      RAMBLOCK_FOREACH_NOT_IGNORED(rb) {
> -        if (ramblock_is_pmem(rb)) {
> +        if (ram_block_is_pmem(rb)) {
>              info_report("Block: %s, host: %p is a nvdimm memory, postcopy"
>                           "is not supported now!", rb->idstr, rb->host);
>              return false;
> diff --git a/system/physmem.c b/system/physmem.c
> index ae8ecd50ea1..3766fae0aba 100644
> --- a/system/physmem.c
> +++ b/system/physmem.c
> @@ -43,6 +43,7 @@
>  #include "system/kvm.h"
>  #include "system/tcg.h"
>  #include "system/qtest.h"
> +#include "system/ramblock.h"
>  #include "qemu/timer.h"
>  #include "qemu/config-file.h"
>  #include "qemu/error-report.h"
> @@ -1804,7 +1805,7 @@ void qemu_ram_msync(RAMBlock *block, ram_addr_t start, ram_addr_t length)
>  
>  #ifdef CONFIG_LIBPMEM
>      /* The lack of support for pmem should not block the sync */
> -    if (ramblock_is_pmem(block)) {
> +    if (ram_block_is_pmem(block)) {
>          void *addr = ramblock_ptr(block, start);
>          pmem_persist(addr, length);
>          return;
> @@ -3943,7 +3944,7 @@ int ram_block_discard_guest_memfd_range(RAMBlock *rb, uint64_t start,
>      return ret;
>  }
>  
> -bool ramblock_is_pmem(RAMBlock *rb)
> +bool ram_block_is_pmem(RAMBlock *rb)
>  {
>      return rb->flags & RAM_PMEM;
>  }

-- 
Alex Bennée
Virtualisation Tech Lead @ Linaro