lkml.org 
[lkml]   [2018]   [Mar]   [21]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    SubjectRe: [virtio-dev] Re: [PATCH v2] virtio_balloon: export hugetlb page allocation counts
    From
    Date


    On 2018年03月20日 12:26, Jonathan Helman wrote:
    >> On Mar 19, 2018, at 7:31 PM, Jason Wang <jasowang@redhat.com> 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@oracle.com>
    >> Reviewed-by: Jason Wang <jasowang@redhat.com>
    > 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

    Spec said "Within an output buffer submitted to the statsq, the device
    MUST ignore entries with tag values that it does not recognize". So
    exporting VIRTIO_BALLOON_S_NR seems useless and device implementation
    can not depend on such number in uapi.

    Thanks

    >
    >> Thanks
    >
    > ---------------------------------------------------------------------
    > To unsubscribe, e-mail: virtio-dev-unsubscribe@lists.oasis-open.org
    > For additional commands, e-mail: virtio-dev-help@lists.oasis-open.org
    >

    \
     
     \ /
      Last update: 2018-03-22 02:54    [W:2.790 / U:0.120 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site