All of lore.kernel.org
 help / color / mirror / Atom feed
From: Mel Gorman <mgorman@techsingularity.net>
To: Michal Hocko <mhocko@kernel.org>
Cc: Will Deacon <will.deacon@arm.com>,
	"Huang, Ying" <ying.huang@linux.intel.com>,
	lkp@01.org, LKML <linux-kernel@vger.kernel.org>,
	Andrew Morton <akpm@linux-foundation.org>,
	Rik van Riel <riel@redhat.com>,
	Vitaly Wool <vitalywool@gmail.com>,
	David Rientjes <rientjes@google.com>,
	Christoph Lameter <cl@linux.com>,
	Johannes Weiner <hannes@cmpxchg.org>,
	Vlastimil Babka <vbabka@suse.cz>,
	Linus Torvalds <torvalds@linux-foundation.org>
Subject: Re: [lkp] [mm, page_alloc] d0164adc89: -100.0% fsmark.app_overhead
Date: Wed, 2 Dec 2015 11:10:17 +0000	[thread overview]
Message-ID: <20151202111017.GB2015@techsingularity.net> (raw)
In-Reply-To: <20151201140431.GH4567@dhcp22.suse.cz>

On Tue, Dec 01, 2015 at 03:04:31PM +0100, Michal Hocko wrote:
> On Tue 01-12-15 12:23:41, Will Deacon wrote:
> > Hi Michal,
> > 
> > On Mon, Nov 30, 2015 at 02:02:00PM +0100, Michal Hocko wrote:
> > > [Let's CC Will - see the question at the end of the email please]
> > 
> > [...]
> > 
> > > > > There is no reference to OOM possibility in the email that I can see. Can
> > > > > you give examples of the OOM messages that shows the problem sites? It was
> > > > > suspected that there may be some callers that were accidentally depending
> > > > > on access to emergency reserves. If so, either they need to be fixed (if
> > > > > the case is extremely rare) or a small reserve will have to be created
> > > > > for callers that are not high priority but still cannot reclaim.
> > > 
> > > __virtblk_add_req calls
> > > virtqueue_add_sgs(vq, sgs, num_out, num_in, vbr, GFP_ATOMIC)
> > >   alloc_indirect(gfp)
> > >     gfp &= ~(__GFP_HIGHMEM | __GFP_HIGH)
> > > 
> > > So this is true __GFP_ATOMIC, we just drop __GFP_HIGH so it doesn't get
> > > access to more reserves. It still does ALLOC_HARDER. So I think the real
> > > issue is somewhere else when something should have triggered kswapd and
> > > it doesn't do that anymore. I have tried to find that offender the last
> > > time but didn't manage to find any.
> > > 
> > > Btw. I completely miss why b92b1b89a33c ("virtio: force vring
> > > descriptors to be allocated from lowmem") had to clear __GFP_HIGH. Will
> > > do you remember why you have dropped that flag as well?
> > 
> > Right, that looks unnecessary, but it could be that we were masking a
> > bug somewhere else.
> 
> OK, I will send a patch to remove __GFP_HIGH because it is clearly
> misleding and doesn't have anything to do with the highmem zone.
> 

Thanks for looking into this. I just sent a patch that includes a changelog
explaining why this bug triggers now and would have been hidden before.

> > > Also I do not seem to find any user of alloc_indirect which would do
> > > __GFP_HIGHMEM. All of them are either GFP_KERNEL or GFP_ATOMIC. So
> > > either I am missing something or this is not really needed. Maybe the
> > > situation was different back in 2012.
> > 
> > I tried to revisit the thread leading to that patch, but it doesn't make
> > a whole lot of sense:
> > 
> >   https://lkml.org/lkml/2012/10/17/143
> > 
> > I certainly remember debugging the failure (i.e. it wasn't theoretical),
> > and we were ending up with highmem addresses being passed in the virtio
> > ring (due to the zero-copy stuff in 9p) and also for the descriptors
> > themselves. The discussion at the time makes it sound like GFP_ATOMIC
> > was giving us those...
> 
> Hmm, unless I am missing something GFP_ATOMIC resp. GFP_KERNEL cannot
> fallback to the highmem zone - see GFP_ZONE_TABLE. Maybe the highmem
> pointer got there from a different path than alloc_indirect?

GFP_ATOMIC should not be returning highmem addresses ever. I checked
briefly but did not spot where 9p is getting highmem pages from but it
wasn't via GFP_ATOMIC.

-- 
Mel Gorman
SUSE Labs

  reply	other threads:[~2015-12-02 11:10 UTC|newest]

Thread overview: 31+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-11-26  0:56 [mm, page_alloc] d0164adc89: -100.0% fsmark.app_overhead kernel test robot
2015-11-26  0:56 ` [lkp] " kernel test robot
2015-11-26 13:25 ` Mel Gorman
2015-11-26 15:03   ` Rik van Riel
2015-11-26 15:03     ` [lkp] " Rik van Riel
2015-11-27  1:14   ` Huang, Ying
2015-11-27  1:14     ` [lkp] " Huang, Ying
2015-11-27 10:06     ` Mel Gorman
2015-11-30  2:14       ` Huang, Ying
2015-11-30  2:14         ` [lkp] " Huang, Ying
2015-11-30 13:02         ` Michal Hocko
2015-11-30 13:02           ` [lkp] " Michal Hocko
2015-12-01 12:23           ` Will Deacon
2015-12-01 12:23             ` [lkp] " Will Deacon
2015-12-01 14:04             ` Michal Hocko
2015-12-01 14:04               ` [lkp] " Michal Hocko
2015-12-02 11:10               ` Mel Gorman [this message]
2015-12-02 11:00         ` Mel Gorman
2015-12-02 12:00           ` Michal Hocko
2015-12-02 12:00             ` [lkp] " Michal Hocko
2015-12-02 14:08             ` Mel Gorman
2015-12-02 14:15               ` Michal Hocko
2015-12-02 14:15                 ` [lkp] " Michal Hocko
2015-12-02 14:45                 ` Mel Gorman
2015-12-03  8:46                   ` Huang, Ying
2015-12-03  8:46                     ` [lkp] " Huang, Ying
2015-12-03 10:17                     ` Mel Gorman
2015-12-04  1:53                       ` Huang, Ying
2015-12-04  1:53                         ` [lkp] " Huang, Ying
2015-12-07 16:18                         ` Michal Hocko
2015-12-07 16:18                           ` [lkp] " Michal Hocko

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=20151202111017.GB2015@techsingularity.net \
    --to=mgorman@techsingularity.net \
    --cc=akpm@linux-foundation.org \
    --cc=cl@linux.com \
    --cc=hannes@cmpxchg.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=lkp@01.org \
    --cc=mhocko@kernel.org \
    --cc=riel@redhat.com \
    --cc=rientjes@google.com \
    --cc=torvalds@linux-foundation.org \
    --cc=vbabka@suse.cz \
    --cc=vitalywool@gmail.com \
    --cc=will.deacon@arm.com \
    --cc=ying.huang@linux.intel.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.