Re: [PATCH v1 2/2] Drivers: virtio: balloon: Report inflated memory

From: Nadav Amit
Date: Tue Aug 09 2022 - 13:44:59 EST



On Aug 9, 2022, at 2:53 AM, Alexander Atanasov <alexander.atanasov@xxxxxxxxxxxxx> wrote:

> Update the value in page_alloc on balloon fill/leak.

Some general comments if this patch goes forward.

Please cc pv-drivers@xxxxxxxxxx in the future.

>
> Cc: David Hildenbrand <david@xxxxxxxxxx>
> Cc: Wei Liu <wei.liu@xxxxxxxxxx>
> Cc: Nadav Amit <namit@xxxxxxxxxx>
>
> Signed-off-by: Alexander Atanasov <alexander.atanasov@xxxxxxxxxxxxx>
> ---
> drivers/virtio/virtio_balloon.c | 13 +++++++++++++
> 1 file changed, 13 insertions(+)
>
> Firts user, other balloons i will do if it is accepted to avoid too much emails.
>
>
> diff --git a/drivers/virtio/virtio_balloon.c b/drivers/virtio/virtio_balloon.c
> index b9737da6c4dd..e2693ffbd48b 100644
> --- a/drivers/virtio/virtio_balloon.c
> +++ b/drivers/virtio/virtio_balloon.c
> @@ -208,6 +208,16 @@ static void set_page_pfns(struct virtio_balloon *vb,
> page_to_balloon_pfn(page) + i);
> }
>
> +static void update_meminfo(struct virtio_balloon *vb)

Putting aside the less-than-optimal function name, I would like to ask that
any new generic balloon logic would go into balloon_compaction.[hc] as much
as possible. I made the effort to reuse this infrastructure (which is now
used by both VMware and virtio), and would prefer to share as much code as
possible.

For instance, I would appreciate if the update upon inflate would go into
balloon_page_list_enqueue() and balloon_page_enqueue(). VMware's 2MB pages
logic is not shared, so it would require a change that is specific for
VMware code.