All of lore.kernel.org
 help / color / mirror / Atom feed
From: Andrew Morton <akpm@linux-foundation.org>
To: KOSAKI Motohiro <kosaki.motohiro@jp.fujitsu.com>
Cc: Eric Dumazet <eric.dumazet@gmail.com>,
	Rik van Riel <riel@redhat.com>,
	linux-mm@kvack.org, linux-kernel@vger.kernel.org,
	netdev@vger.kernel.org
Subject: Re: [PATCH] mm: do not print backtraces on GFP_ATOMIC failures
Date: Mon, 27 Sep 2010 11:49:11 -0700	[thread overview]
Message-ID: <20100927114911.bc95ac87.akpm@linux-foundation.org> (raw)
In-Reply-To: <20100927110723.6B37.A69D9226@jp.fujitsu.com>

On Mon, 27 Sep 2010 11:17:19 +0900 (JST)
KOSAKI Motohiro <kosaki.motohiro@jp.fujitsu.com> wrote:

> > > > @@ -72,7 +72,7 @@ struct vm_area_struct;
> > > >  /* This equals 0, but use constants in case they ever change */
> > > >  #define GFP_NOWAIT	(GFP_ATOMIC & ~__GFP_HIGH)
> > > >  /* GFP_ATOMIC means both !wait (__GFP_WAIT not set) and use emergency pool */
> > > > -#define GFP_ATOMIC	(__GFP_HIGH)
> > > > +#define GFP_ATOMIC	(__GFP_HIGH | __GFP_NOWARN)
> > > >  #define GFP_NOIO	(__GFP_WAIT)
> > > >  #define GFP_NOFS	(__GFP_WAIT | __GFP_IO)
> > > >  #define GFP_KERNEL	(__GFP_WAIT | __GFP_IO | __GFP_FS)
> > > 
> > > A much finer-tuned implementation would be to add __GFP_NOWARN just to
> > > the networking call sites.  I asked about this in June and it got
> > > nixed:
> > > 
> > > http://www.spinics.net/lists/netdev/msg131965.html
> > > --
> > 
> > Yes, I remember this particular report was useful to find and correct a
> > bug.
> > 
> > I dont know what to say.
> > 
> > Being silent or verbose, it really depends on the context ?
> 
> At least, MM developers don't want to track network allocation failure
> issue. We don't have enough knowledge in this area. To be honest, We 
> are unhappy current bad S/N bug report rate ;)
> 
> Traditionally, We hoped this warnings help to debug VM issue.

Well, no, not really.  I thought that the main reason for having that
warning was to debug _callers_ of the memory allocator.

Firstly it tells us when callsites are being too optimistic: asking for
large amounts of contiguous pages, sometimes from atomic context. 
Quite a number of such callsites have been fixed as a result.

Secondly, memory allocation failures are a rare event, so the calling
code's error paths are not well tested.  This warning turns the bug
report "hey, my computer locked up" into the much better "hey, I got
this error message and then my computer locked up".  This allows us to
go and look at the offending code and see if it is handling ENOMEM
correctly.  However I don't recall this scenario ever having actually
happened.

> but
> It haven't happen. We haven't detect VM issue from this allocation
> failure report. Instead, We've received a lot of network allocation
> failure report.
> 
> Recently, The S/N ratio became more bad. If the network device enable
> jumbo frame feature, order-2 GFP_ATOMIC allocation is called frequently.
> Anybody don't have to assume order-2 allocation can success anytime.
> 
> I'm not against accurate warning at all. but I cant tolerate this
> semi-random warning steal our time. If anyone will not make accurate
> warning, I hope to remove this one completely instead.

We can disable the warning for only net drivers quite easily.  I don't
have any strong opinions, really - yes, we get quite a few such bug
reports but most of them end up in my lap anyway and it can't be more
than one per week, shrug.


WARNING: multiple messages have this Message-ID (diff)
From: Andrew Morton <akpm@linux-foundation.org>
To: KOSAKI Motohiro <kosaki.motohiro@jp.fujitsu.com>
Cc: Eric Dumazet <eric.dumazet@gmail.com>,
	Rik van Riel <riel@redhat.com>,
	linux-mm@kvack.org, linux-kernel@vger.kernel.org,
	netdev@vger.kernel.org
Subject: Re: [PATCH] mm: do not print backtraces on GFP_ATOMIC failures
Date: Mon, 27 Sep 2010 11:49:11 -0700	[thread overview]
Message-ID: <20100927114911.bc95ac87.akpm@linux-foundation.org> (raw)
In-Reply-To: <20100927110723.6B37.A69D9226@jp.fujitsu.com>

On Mon, 27 Sep 2010 11:17:19 +0900 (JST)
KOSAKI Motohiro <kosaki.motohiro@jp.fujitsu.com> wrote:

> > > > @@ -72,7 +72,7 @@ struct vm_area_struct;
> > > >  /* This equals 0, but use constants in case they ever change */
> > > >  #define GFP_NOWAIT	(GFP_ATOMIC & ~__GFP_HIGH)
> > > >  /* GFP_ATOMIC means both !wait (__GFP_WAIT not set) and use emergency pool */
> > > > -#define GFP_ATOMIC	(__GFP_HIGH)
> > > > +#define GFP_ATOMIC	(__GFP_HIGH | __GFP_NOWARN)
> > > >  #define GFP_NOIO	(__GFP_WAIT)
> > > >  #define GFP_NOFS	(__GFP_WAIT | __GFP_IO)
> > > >  #define GFP_KERNEL	(__GFP_WAIT | __GFP_IO | __GFP_FS)
> > > 
> > > A much finer-tuned implementation would be to add __GFP_NOWARN just to
> > > the networking call sites.  I asked about this in June and it got
> > > nixed:
> > > 
> > > http://www.spinics.net/lists/netdev/msg131965.html
> > > --
> > 
> > Yes, I remember this particular report was useful to find and correct a
> > bug.
> > 
> > I dont know what to say.
> > 
> > Being silent or verbose, it really depends on the context ?
> 
> At least, MM developers don't want to track network allocation failure
> issue. We don't have enough knowledge in this area. To be honest, We 
> are unhappy current bad S/N bug report rate ;)
> 
> Traditionally, We hoped this warnings help to debug VM issue.

Well, no, not really.  I thought that the main reason for having that
warning was to debug _callers_ of the memory allocator.

Firstly it tells us when callsites are being too optimistic: asking for
large amounts of contiguous pages, sometimes from atomic context. 
Quite a number of such callsites have been fixed as a result.

Secondly, memory allocation failures are a rare event, so the calling
code's error paths are not well tested.  This warning turns the bug
report "hey, my computer locked up" into the much better "hey, I got
this error message and then my computer locked up".  This allows us to
go and look at the offending code and see if it is handling ENOMEM
correctly.  However I don't recall this scenario ever having actually
happened.

> but
> It haven't happen. We haven't detect VM issue from this allocation
> failure report. Instead, We've received a lot of network allocation
> failure report.
> 
> Recently, The S/N ratio became more bad. If the network device enable
> jumbo frame feature, order-2 GFP_ATOMIC allocation is called frequently.
> Anybody don't have to assume order-2 allocation can success anytime.
> 
> I'm not against accurate warning at all. but I cant tolerate this
> semi-random warning steal our time. If anyone will not make accurate
> warning, I hope to remove this one completely instead.

We can disable the warning for only net drivers quite easily.  I don't
have any strong opinions, really - yes, we get quite a few such bug
reports but most of them end up in my lap anyway and it can't be more
than one per week, shrug.

--
To unsubscribe, send a message with 'unsubscribe linux-mm' in
the body to majordomo@kvack.org.  For more info on Linux MM,
see: http://www.linux-mm.org/ .
Don't email: <a href=mailto:"dont@kvack.org"> email@kvack.org </a>

  reply	other threads:[~2010-09-27 18:49 UTC|newest]

Thread overview: 11+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2010-09-21 16:18 [PATCH] mm: do not print backtraces on GFP_ATOMIC failures Rik van Riel
2010-09-21 16:18 ` Rik van Riel
2010-09-21 16:46 ` Andrew Morton
2010-09-21 16:46   ` Andrew Morton
2010-09-21 17:00   ` Eric Dumazet
2010-09-21 17:00     ` Eric Dumazet
2010-09-21 17:00     ` Eric Dumazet
2010-09-27  2:17     ` KOSAKI Motohiro
2010-09-27  2:17       ` KOSAKI Motohiro
2010-09-27 18:49       ` Andrew Morton [this message]
2010-09-27 18:49         ` Andrew Morton

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20100927114911.bc95ac87.akpm@linux-foundation.org \
    --to=akpm@linux-foundation.org \
    --cc=eric.dumazet@gmail.com \
    --cc=kosaki.motohiro@jp.fujitsu.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-mm@kvack.org \
    --cc=netdev@vger.kernel.org \
    --cc=riel@redhat.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.