Re: [PATCH v2] virtio_balloon: export hugetlb page allocation counts

From: Jonathan Helman
Date: Tue Mar 20 2018 - 00:26:59 EST



> On Mar 19, 2018, at 7:31 PM, Jason Wang <jasowang@xxxxxxxxxx> wrote:
>
>
>
> On 2018å03æ20æ 06:14, Jonathan Helman wrote:
>> Export the number of successful and failed hugetlb page
>> allocations via the virtio balloon driver. These 2 counts
>> come directly from the vm_events HTLB_BUDDY_PGALLOC and
>> HTLB_BUDDY_PGALLOC_FAIL.
>>
>> Signed-off-by: Jonathan Helman <jonathan.helman@xxxxxxxxxx>
>
> Reviewed-by: Jason Wang <jasowang@xxxxxxxxxx>

Thanks.

>
>> ---
>> drivers/virtio/virtio_balloon.c | 6 ++++++
>> include/uapi/linux/virtio_balloon.h | 4 +++-
>> 2 files changed, 9 insertions(+), 1 deletion(-)
>>
>> diff --git a/drivers/virtio/virtio_balloon.c b/drivers/virtio/virtio_balloon.c
>> index dfe5684..6b237e3 100644
>> --- a/drivers/virtio/virtio_balloon.c
>> +++ b/drivers/virtio/virtio_balloon.c
>> @@ -272,6 +272,12 @@ static unsigned int update_balloon_stats(struct virtio_balloon *vb)
>> pages_to_bytes(events[PSWPOUT]));
>> update_stat(vb, idx++, VIRTIO_BALLOON_S_MAJFLT, events[PGMAJFAULT]);
>> update_stat(vb, idx++, VIRTIO_BALLOON_S_MINFLT, events[PGFAULT]);
>> +#ifdef CONFIG_HUGETLB_PAGE
>> + update_stat(vb, idx++, VIRTIO_BALLOON_S_HTLB_PGALLOC,
>> + events[HTLB_BUDDY_PGALLOC]);
>> + update_stat(vb, idx++, VIRTIO_BALLOON_S_HTLB_PGFAIL,
>> + events[HTLB_BUDDY_PGALLOC_FAIL]);
>> +#endif
>> #endif
>> update_stat(vb, idx++, VIRTIO_BALLOON_S_MEMFREE,
>> pages_to_bytes(i.freeram));
>> diff --git a/include/uapi/linux/virtio_balloon.h b/include/uapi/linux/virtio_balloon.h
>> index 4e8b830..40297a3 100644
>> --- a/include/uapi/linux/virtio_balloon.h
>> +++ b/include/uapi/linux/virtio_balloon.h
>> @@ -53,7 +53,9 @@ 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
>> /*
>> * Memory statistics structure.
>
> Not for this patch, but it looks to me that exporting such nr through uapi is fragile.

Sorry, can you explain what you mean here?

Jon

>
> Thanks