Hi Angelina,

On Tue, Oct 10, 2023 at 03:48:07PM -0700, Angelina Vu wrote:
> Currently, the balloon floor value is automatically computed, but may be
> too small depending on app usage of memory. This patch adds a balloon_floor
> value as a module parameter that can be used to manually configure the
> balloon floor value.
> 
> Signed-off-by: Angelina Vu <angelin...@linux.microsoft.com>

Out of interest, will there be a case that the balloon floor value is
misconfigured, hence too small?

Why isn't the larger of the two values (computed and manually set)
returned instead?

Thanks,
Wei.

> ---
>  drivers/hv/hv_balloon.c | 7 +++++++
>  1 file changed, 7 insertions(+)
> 
> diff --git a/drivers/hv/hv_balloon.c b/drivers/hv/hv_balloon.c
> index 64ac5bdee3a6..87b312f99b2e 100644
> --- a/drivers/hv/hv_balloon.c
> +++ b/drivers/hv/hv_balloon.c
> @@ -1101,6 +1101,10 @@ static void process_info(struct hv_dynmem_device *dm, 
> struct dm_info_msg *msg)
>       }
>  }
>  
> +unsigned long balloon_floor;
> +module_param(balloon_floor, ulong, 0644);
> +MODULE_PARM_DESC(balloon_floor, "Memory level (in megabytes) that ballooning 
> will not remove");
> +
>  static unsigned long compute_balloon_floor(void)
>  {
>       unsigned long min_pages;
> @@ -1117,6 +1121,9 @@ static unsigned long compute_balloon_floor(void)
>        *    8192       744    (1/16)
>        *   32768      1512    (1/32)
>        */
> +     if (balloon_floor)
> +             return MB2PAGES(balloon_floor);
> +
>       if (nr_pages < MB2PAGES(128))
>               min_pages = MB2PAGES(8) + (nr_pages >> 1);
>       else if (nr_pages < MB2PAGES(512))
> -- 
> 2.34.1
> 
> 

Reply via email to