On 04/13/2018 06:44 AM, Michael S. Tsirkin wrote:
Jason Wang points out that it's vary hard for users to build an array of
s/vary/very
stat names. The naive thing is to use VIRTIO_BALLOON_S_NR but that
breaks if we add more stats.
Let's add an array of reasonably readable names.
Thanks for doing this, this is goodness. Clients of this interface will
now only require a modification to their internal copy of the header
file (if they have one), rather than updating their string array as well.
Fixes: 6c64fe7f2 ("virtio_balloon: export hugetlb page allocation counts")
I think this is a tad bit confusing since the only way you'd know why
this patch "fixes" 6c64fe7f2 is by reading the LKML archives and finding
Jason's comment.
Cc: Jason Wang <jasowang@xxxxxxxxxx>
Cc: Jonathan Helman <jonathan.helman@xxxxxxxxxx>, > Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
Reviewed-by: Jonathan Helman <jonathan.helman@xxxxxxxxxx>
---
include/uapi/linux/virtio_balloon.h | 15 +++++++++++++++
1 file changed, 15 insertions(+)
diff --git a/include/uapi/linux/virtio_balloon.h b/include/uapi/linux/virtio_balloon.h
index 9e02137..1477c17 100644
--- a/include/uapi/linux/virtio_balloon.h
+++ b/include/uapi/linux/virtio_balloon.h
@@ -64,6 +64,21 @@ struct virtio_balloon_config {
#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.
* Driver fills an array of these structures and passes to device.
_______________________________________________
Virtualization mailing list
Virtualization@xxxxxxxxxxxxxxxxxxxxxxxxxx
https://lists.linuxfoundation.org/mailman/listinfo/virtualization