Re: [PATCH v2] mm/balloon_compaction: Informative allocation warnings

From: Nadav Amit
Date: Wed Aug 21 2019 - 14:59:42 EST


> On Aug 21, 2019, at 11:57 AM, David Hildenbrand <david@xxxxxxxxxx> wrote:
>
> On 21.08.19 11:41, Nadav Amit wrote:
>> There is no reason to print generic warnings when balloon memory
>> allocation fails, as failures are expected and can be handled
>> gracefully. Since VMware balloon now uses balloon-compaction
>> infrastructure, and suppressed these warnings before, it is also
>> beneficial to suppress these warnings to keep the same behavior that the
>> balloon had before.
>>
>> Since such warnings can still be useful to indicate that the balloon is
>> over-inflated, print more informative and less frightening warning if
>> allocation fails instead.
>>
>> Cc: David Hildenbrand <david@xxxxxxxxxx>
>> Cc: Jason Wang <jasowang@xxxxxxxxxx>
>> Signed-off-by: Nadav Amit <namit@xxxxxxxxxx>
>>
>> ---
>>
>> v1->v2:
>> * Print informative warnings instead suppressing [David]
>> ---
>> mm/balloon_compaction.c | 7 ++++++-
>> 1 file changed, 6 insertions(+), 1 deletion(-)
>>
>> diff --git a/mm/balloon_compaction.c b/mm/balloon_compaction.c
>> index 798275a51887..0c1d1f7689f0 100644
>> --- a/mm/balloon_compaction.c
>> +++ b/mm/balloon_compaction.c
>> @@ -124,7 +124,12 @@ EXPORT_SYMBOL_GPL(balloon_page_list_dequeue);
>> struct page *balloon_page_alloc(void)
>> {
>> struct page *page = alloc_page(balloon_mapping_gfp_mask() |
>> - __GFP_NOMEMALLOC | __GFP_NORETRY);
>> + __GFP_NOMEMALLOC | __GFP_NORETRY |
>> + __GFP_NOWARN);
>> +
>> + if (!page)
>> + pr_warn_ratelimited("memory balloon: memory allocation failed");
>> +
>> return page;
>> }
>> EXPORT_SYMBOL_GPL(balloon_page_alloc);
>
> Not sure if "memory balloon" is the right wording. hmmm.
>
> Acked-by: David Hildenbrand <david@xxxxxxxxxx>

Do you have a better suggestion?