All of lore.kernel.org
 help / color / mirror / Atom feed
* [Qemu-devel] [PATCH 0/3] virtio-balloon: use alias property
@ 2015-05-11  9:34 shannon.zhao
  2015-05-11  9:34 ` [Qemu-devel] [PATCH 1/3] hw/virtio/virtio-balloon: move adding property to virtio_balloon_instance_init shannon.zhao
                   ` (5 more replies)
  0 siblings, 6 replies; 8+ messages in thread
From: shannon.zhao @ 2015-05-11  9:34 UTC (permalink / raw)
  To: qemu-devel, peter.maydell, cornelia.huck, mst, pbonzini
  Cc: hangaohuai, peter.huangpeng, christoffer.dall, zhaoshenglong

From: Shannon Zhao <shannon.zhao@linaro.org>

The wrappers of virtio-balloon are using object_property_add to add
properties and all have their own getters/setters which are duplicate of
those in virtio-balloon device. So this patchset uses
object_property_add_alias for these properties as Paolo suggested.

Shannon Zhao (3):
  hw/virtio/virtio-balloon: move adding property to
    virtio_balloon_instance_init
  hw/virtio/virtio-pci: use alias property for virtio-balloon-pci
  hw/s390x/virtio-ccw: use alias property for virtio-balloon-ccw

 hw/s390x/virtio-ccw.c      | 39 ++++++---------------------------------
 hw/virtio/virtio-balloon.c | 22 ++++++++++++++--------
 hw/virtio/virtio-pci.c     | 40 ++++++----------------------------------
 3 files changed, 26 insertions(+), 75 deletions(-)

-- 
2.1.0

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

* [Qemu-devel] [PATCH 1/3] hw/virtio/virtio-balloon: move adding property to virtio_balloon_instance_init
  2015-05-11  9:34 [Qemu-devel] [PATCH 0/3] virtio-balloon: use alias property shannon.zhao
@ 2015-05-11  9:34 ` shannon.zhao
  2015-05-11 10:13   ` Paolo Bonzini
  2015-05-11  9:34 ` [Qemu-devel] [PATCH 2/3] hw/virtio/virtio-pci: use alias property for virtio-balloon-pci shannon.zhao
                   ` (4 subsequent siblings)
  5 siblings, 1 reply; 8+ messages in thread
From: shannon.zhao @ 2015-05-11  9:34 UTC (permalink / raw)
  To: qemu-devel, peter.maydell, cornelia.huck, mst, pbonzini
  Cc: hangaohuai, peter.huangpeng, christoffer.dall, zhaoshenglong

From: Shannon Zhao <shannon.zhao@linaro.org>

This is prepared for using alias property in virtio-balloon-pci and
virtio-balloon-ccw.

Signed-off-by: Shannon Zhao <zhaoshenglong@huawei.com>
Signed-off-by: Shannon Zhao <shannon.zhao@linaro.org>
---
 hw/virtio/virtio-balloon.c | 22 ++++++++++++++--------
 1 file changed, 14 insertions(+), 8 deletions(-)

diff --git a/hw/virtio/virtio-balloon.c b/hw/virtio/virtio-balloon.c
index 484c3c3..cfff542 100644
--- a/hw/virtio/virtio-balloon.c
+++ b/hw/virtio/virtio-balloon.c
@@ -396,14 +396,6 @@ static void virtio_balloon_device_realize(DeviceState *dev, Error **errp)
 
     register_savevm(dev, "virtio-balloon", -1, 1,
                     virtio_balloon_save, virtio_balloon_load, s);
-
-    object_property_add(OBJECT(dev), "guest-stats", "guest statistics",
-                        balloon_stats_get_all, NULL, NULL, s, NULL);
-
-    object_property_add(OBJECT(dev), "guest-stats-polling-interval", "int",
-                        balloon_stats_get_poll_interval,
-                        balloon_stats_set_poll_interval,
-                        NULL, s, NULL);
 }
 
 static void virtio_balloon_device_unrealize(DeviceState *dev, Error **errp)
@@ -417,6 +409,19 @@ static void virtio_balloon_device_unrealize(DeviceState *dev, Error **errp)
     virtio_cleanup(vdev);
 }
 
+static void virtio_balloon_instance_init(Object *obj)
+{
+    VirtIOBalloon *s = VIRTIO_BALLOON(obj);
+
+    object_property_add(obj, "guest-stats", "guest statistics",
+                        balloon_stats_get_all, NULL, NULL, s, NULL);
+
+    object_property_add(obj, "guest-stats-polling-interval", "int",
+                        balloon_stats_get_poll_interval,
+                        balloon_stats_set_poll_interval,
+                        NULL, s, NULL);
+}
+
 static Property virtio_balloon_properties[] = {
     DEFINE_PROP_END_OF_LIST(),
 };
@@ -441,6 +446,7 @@ static const TypeInfo virtio_balloon_info = {
     .name = TYPE_VIRTIO_BALLOON,
     .parent = TYPE_VIRTIO_DEVICE,
     .instance_size = sizeof(VirtIOBalloon),
+    .instance_init = virtio_balloon_instance_init,
     .class_init = virtio_balloon_class_init,
 };
 
-- 
2.1.0

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

* [Qemu-devel] [PATCH 2/3] hw/virtio/virtio-pci: use alias property for virtio-balloon-pci
  2015-05-11  9:34 [Qemu-devel] [PATCH 0/3] virtio-balloon: use alias property shannon.zhao
  2015-05-11  9:34 ` [Qemu-devel] [PATCH 1/3] hw/virtio/virtio-balloon: move adding property to virtio_balloon_instance_init shannon.zhao
@ 2015-05-11  9:34 ` shannon.zhao
  2015-05-11  9:34 ` [Qemu-devel] [PATCH 3/3] hw/s390x/virtio-ccw: use alias property for virtio-balloon-ccw shannon.zhao
                   ` (3 subsequent siblings)
  5 siblings, 0 replies; 8+ messages in thread
From: shannon.zhao @ 2015-05-11  9:34 UTC (permalink / raw)
  To: qemu-devel, peter.maydell, cornelia.huck, mst, pbonzini
  Cc: hangaohuai, peter.huangpeng, christoffer.dall, zhaoshenglong

From: Shannon Zhao <shannon.zhao@linaro.org>

Signed-off-by: Shannon Zhao <zhaoshenglong@huawei.com>
Signed-off-by: Shannon Zhao <shannon.zhao@linaro.org>
---
 hw/virtio/virtio-pci.c | 40 ++++++----------------------------------
 1 file changed, 6 insertions(+), 34 deletions(-)

diff --git a/hw/virtio/virtio-pci.c b/hw/virtio/virtio-pci.c
index c7c3f72..2dae8db 100644
--- a/hw/virtio/virtio-pci.c
+++ b/hw/virtio/virtio-pci.c
@@ -1199,32 +1199,6 @@ static const TypeInfo vhost_scsi_pci_info = {
 
 /* virtio-balloon-pci */
 
-static void balloon_pci_stats_get_all(Object *obj, struct Visitor *v,
-                                      void *opaque, const char *name,
-                                      Error **errp)
-{
-    VirtIOBalloonPCI *dev = opaque;
-    object_property_get(OBJECT(&dev->vdev), v, "guest-stats", errp);
-}
-
-static void balloon_pci_stats_get_poll_interval(Object *obj, struct Visitor *v,
-                                                void *opaque, const char *name,
-                                                Error **errp)
-{
-    VirtIOBalloonPCI *dev = opaque;
-    object_property_get(OBJECT(&dev->vdev), v, "guest-stats-polling-interval",
-                        errp);
-}
-
-static void balloon_pci_stats_set_poll_interval(Object *obj, struct Visitor *v,
-                                                void *opaque, const char *name,
-                                                Error **errp)
-{
-    VirtIOBalloonPCI *dev = opaque;
-    object_property_set(OBJECT(&dev->vdev), v, "guest-stats-polling-interval",
-                        errp);
-}
-
 static Property virtio_balloon_pci_properties[] = {
     DEFINE_PROP_UINT32("class", VirtIOPCIProxy, class_code, 0),
     DEFINE_PROP_END_OF_LIST(),
@@ -1261,16 +1235,14 @@ static void virtio_balloon_pci_class_init(ObjectClass *klass, void *data)
 static void virtio_balloon_pci_instance_init(Object *obj)
 {
     VirtIOBalloonPCI *dev = VIRTIO_BALLOON_PCI(obj);
+
     virtio_instance_init_common(obj, &dev->vdev, sizeof(dev->vdev),
                                 TYPE_VIRTIO_BALLOON);
-    object_property_add(obj, "guest-stats", "guest statistics",
-                        balloon_pci_stats_get_all, NULL, NULL, dev,
-                        NULL);
-
-    object_property_add(obj, "guest-stats-polling-interval", "int",
-                        balloon_pci_stats_get_poll_interval,
-                        balloon_pci_stats_set_poll_interval,
-                        NULL, dev, NULL);
+    object_property_add_alias(obj, "guest-stats", OBJECT(&dev->vdev),
+                                  "guest-stats", &error_abort);
+    object_property_add_alias(obj, "guest-stats-polling-interval",
+                              OBJECT(&dev->vdev),
+                              "guest-stats-polling-interval", &error_abort);
 }
 
 static const TypeInfo virtio_balloon_pci_info = {
-- 
2.1.0

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

* [Qemu-devel] [PATCH 3/3] hw/s390x/virtio-ccw: use alias property for virtio-balloon-ccw
  2015-05-11  9:34 [Qemu-devel] [PATCH 0/3] virtio-balloon: use alias property shannon.zhao
  2015-05-11  9:34 ` [Qemu-devel] [PATCH 1/3] hw/virtio/virtio-balloon: move adding property to virtio_balloon_instance_init shannon.zhao
  2015-05-11  9:34 ` [Qemu-devel] [PATCH 2/3] hw/virtio/virtio-pci: use alias property for virtio-balloon-pci shannon.zhao
@ 2015-05-11  9:34 ` shannon.zhao
  2015-05-11 10:14 ` [Qemu-devel] [PATCH 0/3] virtio-balloon: use alias property Paolo Bonzini
                   ` (2 subsequent siblings)
  5 siblings, 0 replies; 8+ messages in thread
From: shannon.zhao @ 2015-05-11  9:34 UTC (permalink / raw)
  To: qemu-devel, peter.maydell, cornelia.huck, mst, pbonzini
  Cc: hangaohuai, peter.huangpeng, christoffer.dall, zhaoshenglong

From: Shannon Zhao <shannon.zhao@linaro.org>

Signed-off-by: Shannon Zhao <zhaoshenglong@huawei.com>
Signed-off-by: Shannon Zhao <shannon.zhao@linaro.org>
---
 hw/s390x/virtio-ccw.c | 39 ++++++---------------------------------
 1 file changed, 6 insertions(+), 33 deletions(-)

diff --git a/hw/s390x/virtio-ccw.c b/hw/s390x/virtio-ccw.c
index 430cc6f..426a097 100644
--- a/hw/s390x/virtio-ccw.c
+++ b/hw/s390x/virtio-ccw.c
@@ -897,44 +897,17 @@ static void virtio_ccw_balloon_realize(VirtioCcwDevice *ccw_dev, Error **errp)
     }
 }
 
-static void balloon_ccw_stats_get_all(Object *obj, struct Visitor *v,
-                                      void *opaque, const char *name,
-                                      Error **errp)
-{
-    VirtIOBalloonCcw *dev = opaque;
-    object_property_get(OBJECT(&dev->vdev), v, "guest-stats", errp);
-}
-
-static void balloon_ccw_stats_get_poll_interval(Object *obj, struct Visitor *v,
-                                                void *opaque, const char *name,
-                                                Error **errp)
-{
-    VirtIOBalloonCcw *dev = opaque;
-    object_property_get(OBJECT(&dev->vdev), v, "guest-stats-polling-interval",
-                        errp);
-}
-
-static void balloon_ccw_stats_set_poll_interval(Object *obj, struct Visitor *v,
-                                                void *opaque, const char *name,
-                                                Error **errp)
-{
-    VirtIOBalloonCcw *dev = opaque;
-    object_property_set(OBJECT(&dev->vdev), v, "guest-stats-polling-interval",
-                        errp);
-}
-
 static void virtio_ccw_balloon_instance_init(Object *obj)
 {
     VirtIOBalloonCcw *dev = VIRTIO_BALLOON_CCW(obj);
+
     virtio_instance_init_common(obj, &dev->vdev, sizeof(dev->vdev),
                                 TYPE_VIRTIO_BALLOON);
-    object_property_add(obj, "guest-stats", "guest statistics",
-                        balloon_ccw_stats_get_all, NULL, NULL, dev, NULL);
-
-    object_property_add(obj, "guest-stats-polling-interval", "int",
-                        balloon_ccw_stats_get_poll_interval,
-                        balloon_ccw_stats_set_poll_interval,
-                        NULL, dev, NULL);
+    object_property_add_alias(obj, "guest-stats", OBJECT(&dev->vdev),
+                              "guest-stats", &error_abort);
+    object_property_add_alias(obj, "guest-stats-polling-interval",
+                              OBJECT(&dev->vdev),
+                              "guest-stats-polling-interval", &error_abort);
 }
 
 static void virtio_ccw_scsi_realize(VirtioCcwDevice *ccw_dev, Error **errp)
-- 
2.1.0

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

* Re: [Qemu-devel] [PATCH 1/3] hw/virtio/virtio-balloon: move adding property to virtio_balloon_instance_init
  2015-05-11  9:34 ` [Qemu-devel] [PATCH 1/3] hw/virtio/virtio-balloon: move adding property to virtio_balloon_instance_init shannon.zhao
@ 2015-05-11 10:13   ` Paolo Bonzini
  0 siblings, 0 replies; 8+ messages in thread
From: Paolo Bonzini @ 2015-05-11 10:13 UTC (permalink / raw)
  To: shannon.zhao, qemu-devel, peter.maydell, cornelia.huck, mst
  Cc: hangaohuai, peter.huangpeng, christoffer.dall, zhaoshenglong



On 11/05/2015 11:34, shannon.zhao@linaro.org wrote:
> From: Shannon Zhao <shannon.zhao@linaro.org>
> 
> This is prepared for using alias property in virtio-balloon-pci and
> virtio-balloon-ccw.

English note: "This prepares for..."

Can be fixed by the committer.

Paolo

> Signed-off-by: Shannon Zhao <zhaoshenglong@huawei.com>
> Signed-off-by: Shannon Zhao <shannon.zhao@linaro.org>
> ---
>  hw/virtio/virtio-balloon.c | 22 ++++++++++++++--------
>  1 file changed, 14 insertions(+), 8 deletions(-)
> 
> diff --git a/hw/virtio/virtio-balloon.c b/hw/virtio/virtio-balloon.c
> index 484c3c3..cfff542 100644
> --- a/hw/virtio/virtio-balloon.c
> +++ b/hw/virtio/virtio-balloon.c
> @@ -396,14 +396,6 @@ static void virtio_balloon_device_realize(DeviceState *dev, Error **errp)
>  
>      register_savevm(dev, "virtio-balloon", -1, 1,
>                      virtio_balloon_save, virtio_balloon_load, s);
> -
> -    object_property_add(OBJECT(dev), "guest-stats", "guest statistics",
> -                        balloon_stats_get_all, NULL, NULL, s, NULL);
> -
> -    object_property_add(OBJECT(dev), "guest-stats-polling-interval", "int",
> -                        balloon_stats_get_poll_interval,
> -                        balloon_stats_set_poll_interval,
> -                        NULL, s, NULL);
>  }
>  
>  static void virtio_balloon_device_unrealize(DeviceState *dev, Error **errp)
> @@ -417,6 +409,19 @@ static void virtio_balloon_device_unrealize(DeviceState *dev, Error **errp)
>      virtio_cleanup(vdev);
>  }
>  
> +static void virtio_balloon_instance_init(Object *obj)
> +{
> +    VirtIOBalloon *s = VIRTIO_BALLOON(obj);
> +
> +    object_property_add(obj, "guest-stats", "guest statistics",
> +                        balloon_stats_get_all, NULL, NULL, s, NULL);
> +
> +    object_property_add(obj, "guest-stats-polling-interval", "int",
> +                        balloon_stats_get_poll_interval,
> +                        balloon_stats_set_poll_interval,
> +                        NULL, s, NULL);
> +}
> +
>  static Property virtio_balloon_properties[] = {
>      DEFINE_PROP_END_OF_LIST(),
>  };
> @@ -441,6 +446,7 @@ static const TypeInfo virtio_balloon_info = {
>      .name = TYPE_VIRTIO_BALLOON,
>      .parent = TYPE_VIRTIO_DEVICE,
>      .instance_size = sizeof(VirtIOBalloon),
> +    .instance_init = virtio_balloon_instance_init,
>      .class_init = virtio_balloon_class_init,
>  };
>  
> 

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

* Re: [Qemu-devel] [PATCH 0/3] virtio-balloon: use alias property
  2015-05-11  9:34 [Qemu-devel] [PATCH 0/3] virtio-balloon: use alias property shannon.zhao
                   ` (2 preceding siblings ...)
  2015-05-11  9:34 ` [Qemu-devel] [PATCH 3/3] hw/s390x/virtio-ccw: use alias property for virtio-balloon-ccw shannon.zhao
@ 2015-05-11 10:14 ` Paolo Bonzini
  2015-05-11 12:02 ` Cornelia Huck
  2015-05-20  1:09 ` Shannon Zhao
  5 siblings, 0 replies; 8+ messages in thread
From: Paolo Bonzini @ 2015-05-11 10:14 UTC (permalink / raw)
  To: shannon.zhao, qemu-devel, peter.maydell, cornelia.huck, mst
  Cc: hangaohuai, peter.huangpeng, christoffer.dall, zhaoshenglong



On 11/05/2015 11:34, shannon.zhao@linaro.org wrote:
> From: Shannon Zhao <shannon.zhao@linaro.org>
> 
> The wrappers of virtio-balloon are using object_property_add to add
> properties and all have their own getters/setters which are duplicate of
> those in virtio-balloon device. So this patchset uses
> object_property_add_alias for these properties as Paolo suggested.
> 
> Shannon Zhao (3):
>   hw/virtio/virtio-balloon: move adding property to
>     virtio_balloon_instance_init
>   hw/virtio/virtio-pci: use alias property for virtio-balloon-pci
>   hw/s390x/virtio-ccw: use alias property for virtio-balloon-ccw
> 
>  hw/s390x/virtio-ccw.c      | 39 ++++++---------------------------------
>  hw/virtio/virtio-balloon.c | 22 ++++++++++++++--------
>  hw/virtio/virtio-pci.c     | 40 ++++++----------------------------------
>  3 files changed, 26 insertions(+), 75 deletions(-)
> 

Nice.

Reviewed-by: Paolo Bonzini <pbonzini@redhat.com>

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

* Re: [Qemu-devel] [PATCH 0/3] virtio-balloon: use alias property
  2015-05-11  9:34 [Qemu-devel] [PATCH 0/3] virtio-balloon: use alias property shannon.zhao
                   ` (3 preceding siblings ...)
  2015-05-11 10:14 ` [Qemu-devel] [PATCH 0/3] virtio-balloon: use alias property Paolo Bonzini
@ 2015-05-11 12:02 ` Cornelia Huck
  2015-05-20  1:09 ` Shannon Zhao
  5 siblings, 0 replies; 8+ messages in thread
From: Cornelia Huck @ 2015-05-11 12:02 UTC (permalink / raw)
  To: shannon.zhao
  Cc: peter.maydell, hangaohuai, mst, peter.huangpeng, qemu-devel,
	zhaoshenglong, pbonzini, christoffer.dall

On Mon, 11 May 2015 17:34:04 +0800
shannon.zhao@linaro.org wrote:

> From: Shannon Zhao <shannon.zhao@linaro.org>
> 
> The wrappers of virtio-balloon are using object_property_add to add
> properties and all have their own getters/setters which are duplicate of
> those in virtio-balloon device. So this patchset uses
> object_property_add_alias for these properties as Paolo suggested.
> 
> Shannon Zhao (3):
>   hw/virtio/virtio-balloon: move adding property to
>     virtio_balloon_instance_init
>   hw/virtio/virtio-pci: use alias property for virtio-balloon-pci
>   hw/s390x/virtio-ccw: use alias property for virtio-balloon-ccw
> 
>  hw/s390x/virtio-ccw.c      | 39 ++++++---------------------------------
>  hw/virtio/virtio-balloon.c | 22 ++++++++++++++--------
>  hw/virtio/virtio-pci.c     | 40 ++++++----------------------------------
>  3 files changed, 26 insertions(+), 75 deletions(-)
> 

Looks good, and seems to work fine on s390x.

Reviewed-by: Cornelia Huck <cornelia.huck@de.ibm.com>

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

* Re: [Qemu-devel] [PATCH 0/3] virtio-balloon: use alias property
  2015-05-11  9:34 [Qemu-devel] [PATCH 0/3] virtio-balloon: use alias property shannon.zhao
                   ` (4 preceding siblings ...)
  2015-05-11 12:02 ` Cornelia Huck
@ 2015-05-20  1:09 ` Shannon Zhao
  5 siblings, 0 replies; 8+ messages in thread
From: Shannon Zhao @ 2015-05-20  1:09 UTC (permalink / raw)
  To: qemu-devel, peter.maydell, cornelia.huck, mst, pbonzini
  Cc: hangaohuai, peter.huangpeng, christoffer.dall, zhaoshenglong

Ping...

Have any maintainer picked up these patches?

On 2015/5/11 17:34, shannon.zhao@linaro.org wrote:
> From: Shannon Zhao <shannon.zhao@linaro.org>
> 
> The wrappers of virtio-balloon are using object_property_add to add
> properties and all have their own getters/setters which are duplicate of
> those in virtio-balloon device. So this patchset uses
> object_property_add_alias for these properties as Paolo suggested.
> 
> Shannon Zhao (3):
>   hw/virtio/virtio-balloon: move adding property to
>     virtio_balloon_instance_init
>   hw/virtio/virtio-pci: use alias property for virtio-balloon-pci
>   hw/s390x/virtio-ccw: use alias property for virtio-balloon-ccw
> 
>  hw/s390x/virtio-ccw.c      | 39 ++++++---------------------------------
>  hw/virtio/virtio-balloon.c | 22 ++++++++++++++--------
>  hw/virtio/virtio-pci.c     | 40 ++++++----------------------------------
>  3 files changed, 26 insertions(+), 75 deletions(-)
> 

-- 
Shannon

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

end of thread, other threads:[~2015-05-20  1:09 UTC | newest]

Thread overview: 8+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2015-05-11  9:34 [Qemu-devel] [PATCH 0/3] virtio-balloon: use alias property shannon.zhao
2015-05-11  9:34 ` [Qemu-devel] [PATCH 1/3] hw/virtio/virtio-balloon: move adding property to virtio_balloon_instance_init shannon.zhao
2015-05-11 10:13   ` Paolo Bonzini
2015-05-11  9:34 ` [Qemu-devel] [PATCH 2/3] hw/virtio/virtio-pci: use alias property for virtio-balloon-pci shannon.zhao
2015-05-11  9:34 ` [Qemu-devel] [PATCH 3/3] hw/s390x/virtio-ccw: use alias property for virtio-balloon-ccw shannon.zhao
2015-05-11 10:14 ` [Qemu-devel] [PATCH 0/3] virtio-balloon: use alias property Paolo Bonzini
2015-05-11 12:02 ` Cornelia Huck
2015-05-20  1:09 ` Shannon Zhao

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.