All of lore.kernel.org
 help / color / mirror / Atom feed
* [Qemu-devel] [PATCH v2 0/2] improve block-latency-histogram-set
@ 2018-10-12 13:15 Vladimir Sementsov-Ogievskiy
  2018-10-12 13:15 ` [Qemu-devel] [PATCH v2 1/2] qapi: move to QOM path for x-block-latency-histogram-set Vladimir Sementsov-Ogievskiy
                   ` (2 more replies)
  0 siblings, 3 replies; 5+ messages in thread
From: Vladimir Sementsov-Ogievskiy @ 2018-10-12 13:15 UTC (permalink / raw)
  To: qemu-devel, qemu-block
  Cc: eblake, mreitz, kwolf, armbru, vsementsov, den, nshirokovskiy

Support QOM path for block-latency-histogram-set and drop x- prefix.

Libvirt discussion (not yet updated for using id instead of device):
https://www.redhat.com/archives/libvir-list/2018-September/msg00011.html

v2: id,device -> id (with fall back to device name)
    fix versions and all remaining x_ prefixes

Vladimir Sementsov-Ogievskiy (2):
  qapi: move to QOM path for x-block-latency-histogram-set
  qapi: drop x- from x-block-latency-histogram-set

 qapi/block-core.json | 24 ++++++++++++------------
 block/qapi.c         | 12 ++++++------
 blockdev.c           | 18 +++++++++++++-----
 3 files changed, 31 insertions(+), 23 deletions(-)

-- 
2.18.0

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

* [Qemu-devel] [PATCH v2 1/2] qapi: move to QOM path for x-block-latency-histogram-set
  2018-10-12 13:15 [Qemu-devel] [PATCH v2 0/2] improve block-latency-histogram-set Vladimir Sementsov-Ogievskiy
@ 2018-10-12 13:15 ` Vladimir Sementsov-Ogievskiy
  2018-10-12 13:15 ` [Qemu-devel] [PATCH v2 2/2] qapi: drop x- from x-block-latency-histogram-set Vladimir Sementsov-Ogievskiy
  2018-12-21 16:31 ` [Qemu-devel] [PATCH v2 0/2] improve block-latency-histogram-set Vladimir Sementsov-Ogievskiy
  2 siblings, 0 replies; 5+ messages in thread
From: Vladimir Sementsov-Ogievskiy @ 2018-10-12 13:15 UTC (permalink / raw)
  To: qemu-devel, qemu-block
  Cc: eblake, mreitz, kwolf, armbru, vsementsov, den, nshirokovskiy

Move to way of device selecting, however fall back to device name if
path is not found.

Signed-off-by: Vladimir Sementsov-Ogievskiy <vsementsov@virtuozzo.com>
---
 qapi/block-core.json |  4 ++--
 blockdev.c           | 16 ++++++++++++----
 2 files changed, 14 insertions(+), 6 deletions(-)

diff --git a/qapi/block-core.json b/qapi/block-core.json
index cfb37f8c1d..f4ae61e2e4 100644
--- a/qapi/block-core.json
+++ b/qapi/block-core.json
@@ -489,7 +489,7 @@
 # If only @device parameter is specified, remove all present latency histograms
 # for the device. Otherwise, add/reset some of (or all) latency histograms.
 #
-# @device: device name to set latency histogram for.
+# @id: The QOM path or name of the guest device.
 #
 # @boundaries: list of interval boundary values (see description in
 #              BlockLatencyHistogramInfo definition). If specified, all
@@ -547,7 +547,7 @@
 # <- { "return": {} }
 ##
 { 'command': 'x-block-latency-histogram-set',
-  'data': {'device': 'str',
+  'data': {'id': 'str',
            '*boundaries': ['uint64'],
            '*boundaries-read': ['uint64'],
            '*boundaries-write': ['uint64'],
diff --git a/blockdev.c b/blockdev.c
index a8755bd908..52e131f47b 100644
--- a/blockdev.c
+++ b/blockdev.c
@@ -4368,20 +4368,28 @@ void qmp_x_blockdev_set_iothread(const char *node_name, StrOrNull *iothread,
 }
 
 void qmp_x_block_latency_histogram_set(
-    const char *device,
+    const char *id,
     bool has_boundaries, uint64List *boundaries,
     bool has_boundaries_read, uint64List *boundaries_read,
     bool has_boundaries_write, uint64List *boundaries_write,
     bool has_boundaries_flush, uint64List *boundaries_flush,
     Error **errp)
 {
-    BlockBackend *blk = blk_by_name(device);
     BlockAcctStats *stats;
+    Error *local_err = NULL;
+    BlockBackend *blk = blk_by_qdev_id(id, &local_err);
 
     if (!blk) {
-        error_setg(errp, "Device '%s' not found", device);
-        return;
+        blk = blk_by_name(id);
+        if (!blk) {
+            error_propagate(errp, local_err);
+            return;
+        } else {
+            error_free(local_err);
+            local_err = NULL;
+        }
     }
+
     stats = blk_get_stats(blk);
 
     if (!has_boundaries && !has_boundaries_read && !has_boundaries_write &&
-- 
2.18.0

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

* [Qemu-devel] [PATCH v2 2/2] qapi: drop x- from x-block-latency-histogram-set
  2018-10-12 13:15 [Qemu-devel] [PATCH v2 0/2] improve block-latency-histogram-set Vladimir Sementsov-Ogievskiy
  2018-10-12 13:15 ` [Qemu-devel] [PATCH v2 1/2] qapi: move to QOM path for x-block-latency-histogram-set Vladimir Sementsov-Ogievskiy
@ 2018-10-12 13:15 ` Vladimir Sementsov-Ogievskiy
  2018-12-21 16:31 ` [Qemu-devel] [PATCH v2 0/2] improve block-latency-histogram-set Vladimir Sementsov-Ogievskiy
  2 siblings, 0 replies; 5+ messages in thread
From: Vladimir Sementsov-Ogievskiy @ 2018-10-12 13:15 UTC (permalink / raw)
  To: qemu-devel, qemu-block
  Cc: eblake, mreitz, kwolf, armbru, vsementsov, den, nshirokovskiy

Drop x- and x_ prefixes for latency histograms and update version to
3.1

Signed-off-by: Vladimir Sementsov-Ogievskiy <vsementsov@virtuozzo.com>
---
 qapi/block-core.json | 20 ++++++++++----------
 block/qapi.c         | 12 ++++++------
 blockdev.c           |  2 +-
 3 files changed, 17 insertions(+), 17 deletions(-)

diff --git a/qapi/block-core.json b/qapi/block-core.json
index f4ae61e2e4..8b7c68c69d 100644
--- a/qapi/block-core.json
+++ b/qapi/block-core.json
@@ -476,13 +476,13 @@
 #         +------------------
 #             10   50   100
 #
-# Since: 2.12
+# Since: 3.1
 ##
 { 'struct': 'BlockLatencyHistogramInfo',
   'data': {'boundaries': ['uint64'], 'bins': ['uint64'] } }
 
 ##
-# @x-block-latency-histogram-set:
+# @block-latency-histogram-set:
 #
 # Manage read, write and flush latency histograms for the device.
 #
@@ -512,7 +512,7 @@
 #
 # Returns: error if device is not found or any boundary arrays are invalid.
 #
-# Since: 2.12
+# Since: 3.1
 #
 # Example: set new histograms for all io types with intervals
 # [0, 10), [10, 50), [50, 100), [100, +inf):
@@ -546,7 +546,7 @@
 #      "arguments": { "device": "drive0" } }
 # <- { "return": {} }
 ##
-{ 'command': 'x-block-latency-histogram-set',
+{ 'command': 'block-latency-histogram-set',
   'data': {'id': 'str',
            '*boundaries': ['uint64'],
            '*boundaries-read': ['uint64'],
@@ -833,11 +833,11 @@
 # @timed_stats: Statistics specific to the set of previously defined
 #               intervals of time (Since 2.5)
 #
-# @x_rd_latency_histogram: @BlockLatencyHistogramInfo. (Since 2.12)
+# @rd_latency_histogram: @BlockLatencyHistogramInfo. (Since 3.1)
 #
-# @x_wr_latency_histogram: @BlockLatencyHistogramInfo. (Since 2.12)
+# @wr_latency_histogram: @BlockLatencyHistogramInfo. (Since 3.1)
 #
-# @x_flush_latency_histogram: @BlockLatencyHistogramInfo. (Since 2.12)
+# @flush_latency_histogram: @BlockLatencyHistogramInfo. (Since 3.1)
 #
 # Since: 0.14.0
 ##
@@ -852,9 +852,9 @@
            'invalid_wr_operations': 'int', 'invalid_flush_operations': 'int',
            'account_invalid': 'bool', 'account_failed': 'bool',
            'timed_stats': ['BlockDeviceTimedStats'],
-           '*x_rd_latency_histogram': 'BlockLatencyHistogramInfo',
-           '*x_wr_latency_histogram': 'BlockLatencyHistogramInfo',
-           '*x_flush_latency_histogram': 'BlockLatencyHistogramInfo' } }
+           '*rd_latency_histogram': 'BlockLatencyHistogramInfo',
+           '*wr_latency_histogram': 'BlockLatencyHistogramInfo',
+           '*flush_latency_histogram': 'BlockLatencyHistogramInfo' } }
 
 ##
 # @BlockStats:
diff --git a/block/qapi.c b/block/qapi.c
index c66f949db8..dc7508a06d 100644
--- a/block/qapi.c
+++ b/block/qapi.c
@@ -492,14 +492,14 @@ static void bdrv_query_blk_stats(BlockDeviceStats *ds, BlockBackend *blk)
     }
 
     bdrv_latency_histogram_stats(&stats->latency_histogram[BLOCK_ACCT_READ],
-                                 &ds->has_x_rd_latency_histogram,
-                                 &ds->x_rd_latency_histogram);
+                                 &ds->has_rd_latency_histogram,
+                                 &ds->rd_latency_histogram);
     bdrv_latency_histogram_stats(&stats->latency_histogram[BLOCK_ACCT_WRITE],
-                                 &ds->has_x_wr_latency_histogram,
-                                 &ds->x_wr_latency_histogram);
+                                 &ds->has_wr_latency_histogram,
+                                 &ds->wr_latency_histogram);
     bdrv_latency_histogram_stats(&stats->latency_histogram[BLOCK_ACCT_FLUSH],
-                                 &ds->has_x_flush_latency_histogram,
-                                 &ds->x_flush_latency_histogram);
+                                 &ds->has_flush_latency_histogram,
+                                 &ds->flush_latency_histogram);
 }
 
 static BlockStats *bdrv_query_bds_stats(BlockDriverState *bs,
diff --git a/blockdev.c b/blockdev.c
index 52e131f47b..5dd9b944f3 100644
--- a/blockdev.c
+++ b/blockdev.c
@@ -4367,7 +4367,7 @@ void qmp_x_blockdev_set_iothread(const char *node_name, StrOrNull *iothread,
     aio_context_release(old_context);
 }
 
-void qmp_x_block_latency_histogram_set(
+void qmp_block_latency_histogram_set(
     const char *id,
     bool has_boundaries, uint64List *boundaries,
     bool has_boundaries_read, uint64List *boundaries_read,
-- 
2.18.0

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

* Re: [Qemu-devel] [PATCH v2 0/2] improve block-latency-histogram-set
  2018-10-12 13:15 [Qemu-devel] [PATCH v2 0/2] improve block-latency-histogram-set Vladimir Sementsov-Ogievskiy
  2018-10-12 13:15 ` [Qemu-devel] [PATCH v2 1/2] qapi: move to QOM path for x-block-latency-histogram-set Vladimir Sementsov-Ogievskiy
  2018-10-12 13:15 ` [Qemu-devel] [PATCH v2 2/2] qapi: drop x- from x-block-latency-histogram-set Vladimir Sementsov-Ogievskiy
@ 2018-12-21 16:31 ` Vladimir Sementsov-Ogievskiy
  2018-12-21 16:33   ` Vladimir Sementsov-Ogievskiy
  2 siblings, 1 reply; 5+ messages in thread
From: Vladimir Sementsov-Ogievskiy @ 2018-12-21 16:31 UTC (permalink / raw)
  To: qemu-devel, qemu-block
  Cc: eblake, mreitz, kwolf, armbru, Denis Lunev, Nikolay Shirokovskiy

ping

12.10.2018 16:15, Vladimir Sementsov-Ogievskiy wrote:
> Support QOM path for block-latency-histogram-set and drop x- prefix.
> 
> Libvirt discussion (not yet updated for using id instead of device):
> https://www.redhat.com/archives/libvir-list/2018-September/msg00011.html
> 
> v2: id,device -> id (with fall back to device name)
>      fix versions and all remaining x_ prefixes
> 
> Vladimir Sementsov-Ogievskiy (2):
>    qapi: move to QOM path for x-block-latency-histogram-set
>    qapi: drop x- from x-block-latency-histogram-set
> 
>   qapi/block-core.json | 24 ++++++++++++------------
>   block/qapi.c         | 12 ++++++------
>   blockdev.c           | 18 +++++++++++++-----
>   3 files changed, 31 insertions(+), 23 deletions(-)
> 


-- 
Best regards,
Vladimir

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

* Re: [Qemu-devel] [PATCH v2 0/2] improve block-latency-histogram-set
  2018-12-21 16:31 ` [Qemu-devel] [PATCH v2 0/2] improve block-latency-histogram-set Vladimir Sementsov-Ogievskiy
@ 2018-12-21 16:33   ` Vladimir Sementsov-Ogievskiy
  0 siblings, 0 replies; 5+ messages in thread
From: Vladimir Sementsov-Ogievskiy @ 2018-12-21 16:33 UTC (permalink / raw)
  To: qemu-devel, qemu-block
  Cc: eblake, mreitz, kwolf, armbru, Denis Lunev, Nikolay Shirokovskiy

21.12.2018 19:31, Vladimir Sementsov-Ogievskiy wrote:
> ping

oops, should s/3.1/4.0

> 
> 12.10.2018 16:15, Vladimir Sementsov-Ogievskiy wrote:
>> Support QOM path for block-latency-histogram-set and drop x- prefix.
>>
>> Libvirt discussion (not yet updated for using id instead of device):
>> https://www.redhat.com/archives/libvir-list/2018-September/msg00011.html
>>
>> v2: id,device -> id (with fall back to device name)
>>      fix versions and all remaining x_ prefixes
>>
>> Vladimir Sementsov-Ogievskiy (2):
>>    qapi: move to QOM path for x-block-latency-histogram-set
>>    qapi: drop x- from x-block-latency-histogram-set
>>
>>   qapi/block-core.json | 24 ++++++++++++------------
>>   block/qapi.c         | 12 ++++++------
>>   blockdev.c           | 18 +++++++++++++-----
>>   3 files changed, 31 insertions(+), 23 deletions(-)
>>
> 
> 


-- 
Best regards,
Vladimir

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

end of thread, other threads:[~2018-12-21 16:33 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2018-10-12 13:15 [Qemu-devel] [PATCH v2 0/2] improve block-latency-histogram-set Vladimir Sementsov-Ogievskiy
2018-10-12 13:15 ` [Qemu-devel] [PATCH v2 1/2] qapi: move to QOM path for x-block-latency-histogram-set Vladimir Sementsov-Ogievskiy
2018-10-12 13:15 ` [Qemu-devel] [PATCH v2 2/2] qapi: drop x- from x-block-latency-histogram-set Vladimir Sementsov-Ogievskiy
2018-12-21 16:31 ` [Qemu-devel] [PATCH v2 0/2] improve block-latency-histogram-set Vladimir Sementsov-Ogievskiy
2018-12-21 16:33   ` Vladimir Sementsov-Ogievskiy

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.