[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [virtio-dev] [PATCH V2 1/1] virtio-balloon: fix interna
From: |
Stefan Hajnoczi |
Subject: |
Re: [Qemu-devel] [virtio-dev] [PATCH V2 1/1] virtio-balloon: fix internal stat name array to match Linux kernel |
Date: |
Thu, 10 May 2018 09:18:12 +0100 |
User-agent: |
Mutt/1.9.3 (2018-01-21) |
On Wed, May 09, 2018 at 03:53:05PM -0400, Thomas Tai wrote:
> The Linux kernel commit b40000325044 ("virtio_balloon: add array
> of stat names") defines an array of stat name strings for consumers
> of the virtio interface to use via the virtio_balloon.h header
> file, rather than requiring each consumer to define its own. But at
> present, the stat names defined in this array by the Linux kernel
> do not match up with those defined internally by QEMU.
>
> This patch fixes this inconsistency by importing the header file
> from linux and use the new macro to construct the balloon_stat_names
> array.
>
> Signed-off-by: Jonathan Helman <address@hidden>
> Signed-off-by: Thomas Tai <address@hidden>
> Cc: Rob Gardner <address@hidden>
> ---
> docs/virtio-balloon-stats.txt | 2 ++
> hw/virtio/virtio-balloon.c | 13 ++-----------
> include/standard-headers/linux/virtio_balloon.h | 19 ++++++++++++++++++-
> 3 files changed, 22 insertions(+), 12 deletions(-)
>
> diff --git a/docs/virtio-balloon-stats.txt b/docs/virtio-balloon-stats.txt
> index 7a66d25..7c69fdb 100644
> --- a/docs/virtio-balloon-stats.txt
> +++ b/docs/virtio-balloon-stats.txt
> @@ -34,6 +34,8 @@ which will return a dictionary containing:
> - stat-total-memory
> - stat-available-memory
> - stat-disk-caches
> + - stat-hugetlb-allocations
> + - stat-hugetlb-failures
>
> o A key named last-update, which contains the last stats update
> timestamp in seconds. Since this timestamp is generated by the host,
> diff --git a/hw/virtio/virtio-balloon.c b/hw/virtio/virtio-balloon.c
> index f456cea..646f2e0 100644
> --- a/hw/virtio/virtio-balloon.c
> +++ b/hw/virtio/virtio-balloon.c
> @@ -43,17 +43,8 @@ static void balloon_page(void *addr, int deflate)
> }
> }
>
> -static const char *balloon_stat_names[] = {
> - [VIRTIO_BALLOON_S_SWAP_IN] = "stat-swap-in",
> - [VIRTIO_BALLOON_S_SWAP_OUT] = "stat-swap-out",
> - [VIRTIO_BALLOON_S_MAJFLT] = "stat-major-faults",
> - [VIRTIO_BALLOON_S_MINFLT] = "stat-minor-faults",
> - [VIRTIO_BALLOON_S_MEMFREE] = "stat-free-memory",
> - [VIRTIO_BALLOON_S_MEMTOT] = "stat-total-memory",
> - [VIRTIO_BALLOON_S_AVAIL] = "stat-available-memory",
> - [VIRTIO_BALLOON_S_CACHES] = "stat-disk-caches",
> - [VIRTIO_BALLOON_S_NR] = NULL
> -};
> +static const char *balloon_stat_names[VIRTIO_BALLOON_S_NR] = \
> + VIRTIO_BALLOON_S_NAMES_WITH_PREFIX("stat-");
>
> /*
> * reset_stats - Mark all items in the stats array as unset
> diff --git a/include/standard-headers/linux/virtio_balloon.h
> b/include/standard-headers/linux/virtio_balloon.h
> index 7b0a41b..4dbb7dc 100644
> --- a/include/standard-headers/linux/virtio_balloon.h
> +++ b/include/standard-headers/linux/virtio_balloon.h
> @@ -53,7 +53,24 @@ struct virtio_balloon_config {
> #define VIRTIO_BALLOON_S_MEMTOT 5 /* Total amount of memory */
> #define VIRTIO_BALLOON_S_AVAIL 6 /* Available memory as in /proc */
> #define VIRTIO_BALLOON_S_CACHES 7 /* Disk caches */
> -#define VIRTIO_BALLOON_S_NR 8
> +#define VIRTIO_BALLOON_S_HTLB_PGALLOC 8 /* Hugetlb page allocations */
> +#define VIRTIO_BALLOON_S_HTLB_PGFAIL 9 /* Hugetlb page allocation
> failures */
> +#define VIRTIO_BALLOON_S_NR 10
> +
> +#define VIRTIO_BALLOON_S_NAMES_WITH_PREFIX(VIRTIO_BALLOON_S_NAMES_prefix) { \
> + VIRTIO_BALLOON_S_NAMES_prefix "swap-in", \
> + VIRTIO_BALLOON_S_NAMES_prefix "swap-out", \
> + VIRTIO_BALLOON_S_NAMES_prefix "major-faults", \
> + VIRTIO_BALLOON_S_NAMES_prefix "minor-faults", \
> + VIRTIO_BALLOON_S_NAMES_prefix "free-memory", \
> + VIRTIO_BALLOON_S_NAMES_prefix "total-memory", \
> + VIRTIO_BALLOON_S_NAMES_prefix "available-memory", \
> + VIRTIO_BALLOON_S_NAMES_prefix "disk-caches", \
> + VIRTIO_BALLOON_S_NAMES_prefix "hugetlb-allocations", \
> + VIRTIO_BALLOON_S_NAMES_prefix "hugetlb-failures" \
> +}
> +
> +#define VIRTIO_BALLOON_S_NAMES VIRTIO_BALLOON_S_NAMES_WITH_PREFIX("")
>
> /*
> * Memory statistics structure.
> --
> 1.8.3.1
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: address@hidden
> For additional commands, e-mail: address@hidden
>
signature.asc
Description: PGP signature