Re: [PATCH] hv_balloon: Fix committed value in post_status() if dynamic memory is disabled

From: Wei Liu
Date: Fri Nov 11 2022 - 11:50:48 EST


On Thu, Nov 03, 2022 at 11:52:50PM -0700, Shradha Gupta wrote:
> If Dynamic memory is disabled for VM, the committed value reported by the
> post_status() call by hv_balloon driver includes compute_balloon_floor().
> This is not needed if balloon_up operations or hot_add operations were
> never requested on the VM(or if Dynamic memory was disabled for the VM)
>
> Signed-off-by: Shradha Gupta <shradhagupta@xxxxxxxxxxxxxxxxxxx>

Can you put a Fixes: tag here?

You can use git-blame to find out the culprit.

Thanks,
Wei.

> ---
> drivers/hv/hv_balloon.c | 22 +++++++++++++++++-----
> 1 file changed, 17 insertions(+), 5 deletions(-)
>
> diff --git a/drivers/hv/hv_balloon.c b/drivers/hv/hv_balloon.c
> index fdf6decacf06..a6f5321d4a2e 100644
> --- a/drivers/hv/hv_balloon.c
> +++ b/drivers/hv/hv_balloon.c
> @@ -1129,11 +1129,23 @@ static unsigned long compute_balloon_floor(void)
>
> static unsigned long get_pages_committed(struct hv_dynmem_device *dm)
> {
> - return vm_memory_committed() +
> - dm->num_pages_ballooned +
> - (dm->num_pages_added > dm->num_pages_onlined ?
> - dm->num_pages_added - dm->num_pages_onlined : 0) +
> - compute_balloon_floor();
> + unsigned long pages_committed;
> +
> + pages_committed = vm_memory_committed();
> +
> + /*
> + * If no balloon_up or hot_add operation was performed do not add
> + * num_pages_ballooned, number of pages offline or
> + * compute_balloon_floor() to the pages_committed value
> + */
> + if (dm->num_pages_ballooned || dm->num_pages_added) {
> + pages_committed += dm->num_pages_ballooned +
> + (dm->num_pages_added > dm->num_pages_onlined ?
> + dm->num_pages_added - dm->num_pages_onlined : 0) +
> + compute_balloon_floor();
> + }
> +
> + return pages_committed;
> }
>
> /*
> --
> 2.37.2
>