qemu-devel
[Top][All Lists]
Advanced

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

Re: [PATCH v2] block/nvme: Add driver statistics for access alignment an


From: Markus Armbruster
Subject: Re: [PATCH v2] block/nvme: Add driver statistics for access alignment and hw errors
Date: Fri, 02 Oct 2020 07:14:40 +0200
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/27.1 (gnu/linux)

Philippe Mathieu-Daudé <philmd@redhat.com> writes:

> Keep statistics of some hardware errors, and number of
> aligned/unaligned I/O accesses.
>
> QMP example booting a full RHEL 8.3 aarch64 guest:
>
> { "execute": "query-blockstats" }
> {
>     "return": [
>         {
>             "device": "",
>             "node-name": "drive0",
>             "stats": {
>                 "flush_total_time_ns": 6026948,
>                 "wr_highest_offset": 3383991230464,
>                 "wr_total_time_ns": 807450995,
>                 "failed_wr_operations": 0,
>                 "failed_rd_operations": 0,
>                 "wr_merged": 3,
>                 "wr_bytes": 50133504,
>                 "failed_unmap_operations": 0,
>                 "failed_flush_operations": 0,
>                 "account_invalid": false,
>                 "rd_total_time_ns": 1846979900,
>                 "flush_operations": 130,
>                 "wr_operations": 659,
>                 "rd_merged": 1192,
>                 "rd_bytes": 218244096,
>                 "account_failed": false,
>                 "idle_time_ns": 2678641497,
>                 "rd_operations": 7406,
>             },
>             "driver-specific": {
>                 "driver": "nvme",
>                 "completion-errors": 0,
>                 "unaligned-accesses": 2959,
>                 "aligned-accesses": 4477
>             },
>             "qdev": "/machine/peripheral-anon/device[0]/virtio-backend"
>         }
>     ]
> }
>
> Suggested-by: Stefan Hajnoczi <stefanha@gmail.com>
> Signed-off-by: Philippe Mathieu-Daudé <philmd@redhat.com>
> ---
> v2: 'access-nb' -> 'accesses' (Stefan)
> ---
>  qapi/block-core.json | 24 +++++++++++++++++++++++-
>  block/nvme.c         | 27 +++++++++++++++++++++++++++
>  2 files changed, 50 insertions(+), 1 deletion(-)
>
> diff --git a/qapi/block-core.json b/qapi/block-core.json
> index 86ed72ef9f..dec17e3036 100644
> --- a/qapi/block-core.json
> +++ b/qapi/block-core.json
> @@ -941,6 +941,27 @@
>        'discard-nb-failed': 'uint64',
>        'discard-bytes-ok': 'uint64' } }
>  
> +##
> +# @BlockStatsSpecificNvme:
> +#
> +# NVMe driver statistics
> +#
> +# @completion-errors: The number of completion errors.
> +#
> +# @aligned-accesses: The number of aligned accesses performed by
> +#                    the driver.
> +#
> +# @unaligned-accesses: The number of unaligned accesses performed by
> +#                      the driver.
> +#
> +# Since: 5.2
> +##
> +{ 'struct': 'BlockStatsSpecificNvme',
> +  'data': {
> +      'completion-errors': 'uint64',
> +      'aligned-accesses': 'uint64',
> +      'unaligned-accesses': 'uint64' } }
> +
>  ##
>  # @BlockStatsSpecific:
>  #
> @@ -953,7 +974,8 @@
>    'discriminator': 'driver',
>    'data': {
>        'file': 'BlockStatsSpecificFile',
> -      'host_device': 'BlockStatsSpecificFile' } }
> +      'host_device': 'BlockStatsSpecificFile',
> +      'nvme': 'BlockStatsSpecificNvme' } }
>  
>  ##
>  # @BlockStats:

Acked-by: Markus Armbruster <armbru@redhat.com>




reply via email to

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