All of lore.kernel.org
 help / color / mirror / Atom feed
* [Qemu-devel] [PATCH 0/2] hostmem: introduce host_memory_backend_mr_inited
@ 2017-03-10 13:09 Peter Xu
  2017-03-10 13:09 ` [Qemu-devel] [PATCH 1/2] hostmem: introduce host_memory_backend_mr_inited() Peter Xu
                   ` (2 more replies)
  0 siblings, 3 replies; 4+ messages in thread
From: Peter Xu @ 2017-03-10 13:09 UTC (permalink / raw)
  To: qemu-devel
  Cc: Paolo Bonzini, Igor Mammedov, Peter Maydell, peterx, Eduardo Habkost

This is a tiny cleanup series for host backend mem. Patch 1 introduced
the new interface, patch 2 uses them. Please review, thanks.

Peter Xu (2):
  hostmem: introduce host_memory_backend_mr_inited()
  hostmem: use host_memory_backend_mr_inited() where proper

 backends/hostmem-file.c  |  6 +++---
 backends/hostmem.c       | 19 ++++++++++++++-----
 include/sysemu/hostmem.h |  1 +
 3 files changed, 18 insertions(+), 8 deletions(-)

-- 
2.7.4

^ permalink raw reply	[flat|nested] 4+ messages in thread

* [Qemu-devel] [PATCH 1/2] hostmem: introduce host_memory_backend_mr_inited()
  2017-03-10 13:09 [Qemu-devel] [PATCH 0/2] hostmem: introduce host_memory_backend_mr_inited Peter Xu
@ 2017-03-10 13:09 ` Peter Xu
  2017-03-10 13:09 ` [Qemu-devel] [PATCH 2/2] hostmem: use host_memory_backend_mr_inited() where proper Peter Xu
  2017-03-10 18:27 ` [Qemu-devel] [PATCH 0/2] hostmem: introduce host_memory_backend_mr_inited Eduardo Habkost
  2 siblings, 0 replies; 4+ messages in thread
From: Peter Xu @ 2017-03-10 13:09 UTC (permalink / raw)
  To: qemu-devel
  Cc: Paolo Bonzini, Igor Mammedov, Peter Maydell, peterx, Eduardo Habkost

We were checking this against memory region size of host memory
backend's mr field to see whether the mr has been inited. This is
efficient but less elegant. Let's make a helper for it to avoid
confusions, along with some notes.

Suggested-by: Peter Maydell <peter.maydell@linaro.org>
Signed-off-by: Peter Xu <peterx@redhat.com>
---
 backends/hostmem.c       | 9 +++++++++
 include/sysemu/hostmem.h | 1 +
 2 files changed, 10 insertions(+)

diff --git a/backends/hostmem.c b/backends/hostmem.c
index 7f5de70..4e9ef62 100644
--- a/backends/hostmem.c
+++ b/backends/hostmem.c
@@ -243,6 +243,15 @@ static void host_memory_backend_init(Object *obj)
     backend->prealloc = mem_prealloc;
 }
 
+bool host_memory_backend_mr_inited(HostMemoryBackend *backend)
+{
+    /*
+     * NOTE: We forbid zero-length memory backend, so here zero means
+     * "we haven't inited the backend memory region yet".
+     */
+    return memory_region_size(&backend->mr) != 0;
+}
+
 MemoryRegion *
 host_memory_backend_get_memory(HostMemoryBackend *backend, Error **errp)
 {
diff --git a/include/sysemu/hostmem.h b/include/sysemu/hostmem.h
index ecae0cf..ed6a437 100644
--- a/include/sysemu/hostmem.h
+++ b/include/sysemu/hostmem.h
@@ -62,6 +62,7 @@ struct HostMemoryBackend {
     MemoryRegion mr;
 };
 
+bool host_memory_backend_mr_inited(HostMemoryBackend *backend);
 MemoryRegion *host_memory_backend_get_memory(HostMemoryBackend *backend,
                                              Error **errp);
 
-- 
2.7.4

^ permalink raw reply related	[flat|nested] 4+ messages in thread

* [Qemu-devel] [PATCH 2/2] hostmem: use host_memory_backend_mr_inited() where proper
  2017-03-10 13:09 [Qemu-devel] [PATCH 0/2] hostmem: introduce host_memory_backend_mr_inited Peter Xu
  2017-03-10 13:09 ` [Qemu-devel] [PATCH 1/2] hostmem: introduce host_memory_backend_mr_inited() Peter Xu
@ 2017-03-10 13:09 ` Peter Xu
  2017-03-10 18:27 ` [Qemu-devel] [PATCH 0/2] hostmem: introduce host_memory_backend_mr_inited Eduardo Habkost
  2 siblings, 0 replies; 4+ messages in thread
From: Peter Xu @ 2017-03-10 13:09 UTC (permalink / raw)
  To: qemu-devel
  Cc: Paolo Bonzini, Igor Mammedov, Peter Maydell, peterx, Eduardo Habkost

Use the new interface to boost readability.

Signed-off-by: Peter Xu <peterx@redhat.com>
---
 backends/hostmem-file.c |  6 +++---
 backends/hostmem.c      | 10 +++++-----
 2 files changed, 8 insertions(+), 8 deletions(-)

diff --git a/backends/hostmem-file.c b/backends/hostmem-file.c
index 42efb2f..fc4ef46 100644
--- a/backends/hostmem-file.c
+++ b/backends/hostmem-file.c
@@ -51,7 +51,7 @@ file_backend_memory_alloc(HostMemoryBackend *backend, Error **errp)
 #ifndef CONFIG_LINUX
     error_setg(errp, "-mem-path not supported on this host");
 #else
-    if (!memory_region_size(&backend->mr)) {
+    if (!host_memory_backend_mr_inited(backend)) {
         gchar *path;
         backend->force_prealloc = mem_prealloc;
         path = object_get_canonical_path(OBJECT(backend));
@@ -76,7 +76,7 @@ static void set_mem_path(Object *o, const char *str, Error **errp)
     HostMemoryBackend *backend = MEMORY_BACKEND(o);
     HostMemoryBackendFile *fb = MEMORY_BACKEND_FILE(o);
 
-    if (memory_region_size(&backend->mr)) {
+    if (host_memory_backend_mr_inited(backend)) {
         error_setg(errp, "cannot change property value");
         return;
     }
@@ -96,7 +96,7 @@ static void file_memory_backend_set_share(Object *o, bool value, Error **errp)
     HostMemoryBackend *backend = MEMORY_BACKEND(o);
     HostMemoryBackendFile *fb = MEMORY_BACKEND_FILE(o);
 
-    if (memory_region_size(&backend->mr)) {
+    if (host_memory_backend_mr_inited(backend)) {
         error_setg(errp, "cannot change property value");
         return;
     }
diff --git a/backends/hostmem.c b/backends/hostmem.c
index 4e9ef62..07137a2 100644
--- a/backends/hostmem.c
+++ b/backends/hostmem.c
@@ -45,7 +45,7 @@ host_memory_backend_set_size(Object *obj, Visitor *v, const char *name,
     Error *local_err = NULL;
     uint64_t value;
 
-    if (memory_region_size(&backend->mr)) {
+    if (host_memory_backend_mr_inited(backend)) {
         error_setg(&local_err, "cannot change property value");
         goto out;
     }
@@ -152,7 +152,7 @@ static void host_memory_backend_set_merge(Object *obj, bool value, Error **errp)
 {
     HostMemoryBackend *backend = MEMORY_BACKEND(obj);
 
-    if (!memory_region_size(&backend->mr)) {
+    if (!host_memory_backend_mr_inited(backend)) {
         backend->merge = value;
         return;
     }
@@ -178,7 +178,7 @@ static void host_memory_backend_set_dump(Object *obj, bool value, Error **errp)
 {
     HostMemoryBackend *backend = MEMORY_BACKEND(obj);
 
-    if (!memory_region_size(&backend->mr)) {
+    if (!host_memory_backend_mr_inited(backend)) {
         backend->dump = value;
         return;
     }
@@ -214,7 +214,7 @@ static void host_memory_backend_set_prealloc(Object *obj, bool value,
         }
     }
 
-    if (!memory_region_size(&backend->mr)) {
+    if (!host_memory_backend_mr_inited(backend)) {
         backend->prealloc = value;
         return;
     }
@@ -255,7 +255,7 @@ bool host_memory_backend_mr_inited(HostMemoryBackend *backend)
 MemoryRegion *
 host_memory_backend_get_memory(HostMemoryBackend *backend, Error **errp)
 {
-    return memory_region_size(&backend->mr) ? &backend->mr : NULL;
+    return host_memory_backend_mr_inited(backend) ? &backend->mr : NULL;
 }
 
 void host_memory_backend_set_mapped(HostMemoryBackend *backend, bool mapped)
-- 
2.7.4

^ permalink raw reply related	[flat|nested] 4+ messages in thread

* Re: [Qemu-devel] [PATCH 0/2] hostmem: introduce host_memory_backend_mr_inited
  2017-03-10 13:09 [Qemu-devel] [PATCH 0/2] hostmem: introduce host_memory_backend_mr_inited Peter Xu
  2017-03-10 13:09 ` [Qemu-devel] [PATCH 1/2] hostmem: introduce host_memory_backend_mr_inited() Peter Xu
  2017-03-10 13:09 ` [Qemu-devel] [PATCH 2/2] hostmem: use host_memory_backend_mr_inited() where proper Peter Xu
@ 2017-03-10 18:27 ` Eduardo Habkost
  2 siblings, 0 replies; 4+ messages in thread
From: Eduardo Habkost @ 2017-03-10 18:27 UTC (permalink / raw)
  To: Peter Xu; +Cc: qemu-devel, Paolo Bonzini, Igor Mammedov, Peter Maydell

On Fri, Mar 10, 2017 at 09:09:28PM +0800, Peter Xu wrote:
> This is a tiny cleanup series for host backend mem. Patch 1 introduced
> the new interface, patch 2 uses them. Please review, thanks.

Reviewed-by: Eduardo Habkost <ehabkost@redhat.com>

Queueing for 2.10, on my machine-next branch.

-- 
Eduardo

^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2017-03-10 18:28 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2017-03-10 13:09 [Qemu-devel] [PATCH 0/2] hostmem: introduce host_memory_backend_mr_inited Peter Xu
2017-03-10 13:09 ` [Qemu-devel] [PATCH 1/2] hostmem: introduce host_memory_backend_mr_inited() Peter Xu
2017-03-10 13:09 ` [Qemu-devel] [PATCH 2/2] hostmem: use host_memory_backend_mr_inited() where proper Peter Xu
2017-03-10 18:27 ` [Qemu-devel] [PATCH 0/2] hostmem: introduce host_memory_backend_mr_inited Eduardo Habkost

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.