Re: [PATCH] mm/balloon_compaction: suppress allocation warnings

2019-09-04 Thread Michael S. Tsirkin
On Wed, Aug 21, 2019 at 07:44:33PM +, Nadav Amit wrote:
> > On Aug 21, 2019, at 12:13 PM, David Hildenbrand  wrote:
> > 
> > On 21.08.19 18:34, Nadav Amit wrote:
> >>> On Aug 21, 2019, at 9:29 AM, David Hildenbrand  wrote:
> >>> 
> >>> On 21.08.19 18:23, Nadav Amit wrote:
> > On Aug 21, 2019, at 9:05 AM, David Hildenbrand  wrote:
> > 
> > On 20.08.19 11:16, Nadav Amit wrote:
> >> There is no reason to print warnings when balloon page allocation 
> >> fails,
> >> as they 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.
> > 
> > I am not sure if that's a good idea. The allocation warnings are usually
> > the only trace of "the user/admin did something bad because he/she tried
> > to inflate the balloon to an unsafe value". Believe me, I processed a
> > couple of such bugreports related to virtio-balloon and the warning were
> > very helpful for that.
>  
>  Ok, so a message is needed, but does it have to be a generic frightening
>  warning?
>  
>  How about using __GFP_NOWARN, and if allocation do something like:
>  
>  pr_warn(“Balloon memory allocation failed”);
>  
>  Or even something more informative? This would surely be less 
>  intimidating
>  for common users.
> >>> 
> >>> ratelimit would make sense :)
> >>> 
> >>> And yes, this would certainly be nicer.
> >> 
> >> Thanks. I will post v2 of the patch.
> > 
> > As discussed in v2, we already print a warning in virtio-balloon, so I
> > am fine with this patch.
> > 
> > Reviewed-by: David Hildenbrand 
> 
> Michael,
> 
> If it is possible to get it to 5.3, to avoid behavioral change for VMware
> balloon users, it would be great.
> 
> Thanks,
> Nadav

Just back from vacation, I'll try.



Re: [PATCH] mm/balloon_compaction: suppress allocation warnings

2019-08-21 Thread Nadav Amit
> On Aug 21, 2019, at 12:13 PM, David Hildenbrand  wrote:
> 
> On 21.08.19 18:34, Nadav Amit wrote:
>>> On Aug 21, 2019, at 9:29 AM, David Hildenbrand  wrote:
>>> 
>>> On 21.08.19 18:23, Nadav Amit wrote:
> On Aug 21, 2019, at 9:05 AM, David Hildenbrand  wrote:
> 
> On 20.08.19 11:16, Nadav Amit wrote:
>> There is no reason to print warnings when balloon page allocation fails,
>> as they 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.
> 
> I am not sure if that's a good idea. The allocation warnings are usually
> the only trace of "the user/admin did something bad because he/she tried
> to inflate the balloon to an unsafe value". Believe me, I processed a
> couple of such bugreports related to virtio-balloon and the warning were
> very helpful for that.
 
 Ok, so a message is needed, but does it have to be a generic frightening
 warning?
 
 How about using __GFP_NOWARN, and if allocation do something like:
 
 pr_warn(“Balloon memory allocation failed”);
 
 Or even something more informative? This would surely be less intimidating
 for common users.
>>> 
>>> ratelimit would make sense :)
>>> 
>>> And yes, this would certainly be nicer.
>> 
>> Thanks. I will post v2 of the patch.
> 
> As discussed in v2, we already print a warning in virtio-balloon, so I
> am fine with this patch.
> 
> Reviewed-by: David Hildenbrand 

Michael,

If it is possible to get it to 5.3, to avoid behavioral change for VMware
balloon users, it would be great.

Thanks,
Nadav

Re: [PATCH] mm/balloon_compaction: suppress allocation warnings

2019-08-21 Thread David Hildenbrand
On 21.08.19 18:34, Nadav Amit wrote:
>> On Aug 21, 2019, at 9:29 AM, David Hildenbrand  wrote:
>>
>> On 21.08.19 18:23, Nadav Amit wrote:
 On Aug 21, 2019, at 9:05 AM, David Hildenbrand  wrote:

 On 20.08.19 11:16, Nadav Amit wrote:
> There is no reason to print warnings when balloon page allocation fails,
> as they 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.

 I am not sure if that's a good idea. The allocation warnings are usually
 the only trace of "the user/admin did something bad because he/she tried
 to inflate the balloon to an unsafe value". Believe me, I processed a
 couple of such bugreports related to virtio-balloon and the warning were
 very helpful for that.
>>>
>>> Ok, so a message is needed, but does it have to be a generic frightening
>>> warning?
>>>
>>> How about using __GFP_NOWARN, and if allocation do something like:
>>>
>>>  pr_warn(“Balloon memory allocation failed”);
>>>
>>> Or even something more informative? This would surely be less intimidating
>>> for common users.
>>
>> ratelimit would make sense :)
>>
>> And yes, this would certainly be nicer.
> 
> Thanks. I will post v2 of the patch.
> 

As discussed in v2, we already print a warning in virtio-balloon, so I
am fine with this patch.

Reviewed-by: David Hildenbrand 

-- 

Thanks,

David / dhildenb


Re: [PATCH] mm/balloon_compaction: suppress allocation warnings

2019-08-21 Thread Nadav Amit
> On Aug 21, 2019, at 9:29 AM, David Hildenbrand  wrote:
> 
> On 21.08.19 18:23, Nadav Amit wrote:
>>> On Aug 21, 2019, at 9:05 AM, David Hildenbrand  wrote:
>>> 
>>> On 20.08.19 11:16, Nadav Amit wrote:
 There is no reason to print warnings when balloon page allocation fails,
 as they 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.
>>> 
>>> I am not sure if that's a good idea. The allocation warnings are usually
>>> the only trace of "the user/admin did something bad because he/she tried
>>> to inflate the balloon to an unsafe value". Believe me, I processed a
>>> couple of such bugreports related to virtio-balloon and the warning were
>>> very helpful for that.
>> 
>> Ok, so a message is needed, but does it have to be a generic frightening
>> warning?
>> 
>> How about using __GFP_NOWARN, and if allocation do something like:
>> 
>>  pr_warn(“Balloon memory allocation failed”);
>> 
>> Or even something more informative? This would surely be less intimidating
>> for common users.
> 
> ratelimit would make sense :)
> 
> And yes, this would certainly be nicer.

Thanks. I will post v2 of the patch.



Re: [PATCH] mm/balloon_compaction: suppress allocation warnings

2019-08-21 Thread David Hildenbrand
On 21.08.19 18:23, Nadav Amit wrote:
>> On Aug 21, 2019, at 9:05 AM, David Hildenbrand  wrote:
>>
>> On 20.08.19 11:16, Nadav Amit wrote:
>>> There is no reason to print warnings when balloon page allocation fails,
>>> as they 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.
>>
>> I am not sure if that's a good idea. The allocation warnings are usually
>> the only trace of "the user/admin did something bad because he/she tried
>> to inflate the balloon to an unsafe value". Believe me, I processed a
>> couple of such bugreports related to virtio-balloon and the warning were
>> very helpful for that.
> 
> Ok, so a message is needed, but does it have to be a generic frightening
> warning?
> 
> How about using __GFP_NOWARN, and if allocation do something like:
> 
>   pr_warn(“Balloon memory allocation failed”);
> 
> Or even something more informative? This would surely be less intimidating
> for common users.
> 

ratelimit would make sense :)

And yes, this would certainly be nicer.

-- 

Thanks,

David / dhildenb


Re: [PATCH] mm/balloon_compaction: suppress allocation warnings

2019-08-21 Thread Nadav Amit
> On Aug 21, 2019, at 9:05 AM, David Hildenbrand  wrote:
> 
> On 20.08.19 11:16, Nadav Amit wrote:
>> There is no reason to print warnings when balloon page allocation fails,
>> as they 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.
> 
> I am not sure if that's a good idea. The allocation warnings are usually
> the only trace of "the user/admin did something bad because he/she tried
> to inflate the balloon to an unsafe value". Believe me, I processed a
> couple of such bugreports related to virtio-balloon and the warning were
> very helpful for that.

Ok, so a message is needed, but does it have to be a generic frightening
warning?

How about using __GFP_NOWARN, and if allocation do something like:

  pr_warn(“Balloon memory allocation failed”);

Or even something more informative? This would surely be less intimidating
for common users.



Re: [PATCH] mm/balloon_compaction: suppress allocation warnings

2019-08-21 Thread David Hildenbrand
On 20.08.19 11:16, Nadav Amit wrote:
> There is no reason to print warnings when balloon page allocation fails,
> as they 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.

I am not sure if that's a good idea. The allocation warnings are usually
the only trace of "the user/admin did something bad because he/she tried
to inflate the balloon to an unsafe value". Believe me, I processed a
couple of such bugreports related to virtio-balloon and the warning were
very helpful for that.

> 
> Cc: Jason Wang 
> Signed-off-by: Nadav Amit 
> ---
>  mm/balloon_compaction.c | 3 ++-
>  1 file changed, 2 insertions(+), 1 deletion(-)
> 
> diff --git a/mm/balloon_compaction.c b/mm/balloon_compaction.c
> index 798275a51887..26de020aae7b 100644
> --- a/mm/balloon_compaction.c
> +++ b/mm/balloon_compaction.c
> @@ -124,7 +124,8 @@ 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);
>   return page;
>  }
>  EXPORT_SYMBOL_GPL(balloon_page_alloc);
> 


-- 

Thanks,

David / dhildenb


[PATCH] mm/balloon_compaction: suppress allocation warnings

2019-08-20 Thread Nadav Amit
There is no reason to print warnings when balloon page allocation fails,
as they 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.

Cc: Jason Wang 
Signed-off-by: Nadav Amit 
---
 mm/balloon_compaction.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/mm/balloon_compaction.c b/mm/balloon_compaction.c
index 798275a51887..26de020aae7b 100644
--- a/mm/balloon_compaction.c
+++ b/mm/balloon_compaction.c
@@ -124,7 +124,8 @@ 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);
return page;
 }
 EXPORT_SYMBOL_GPL(balloon_page_alloc);
-- 
2.19.1