From: Mel Gorman <mgorman@techsingularity.net>
To: "Huang, Ying" <ying.huang@linux.intel.com>
Cc: Michal Hocko <mhocko@kernel.org>,
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>,
Will Deacon <will.deacon@arm.com>,
Linus Torvalds <torvalds@linux-foundation.org>
Subject: Re: [lkp] [mm, page_alloc] d0164adc89: -100.0% fsmark.app_overhead
Date: Thu, 3 Dec 2015 10:17:19 +0000 [thread overview]
Message-ID: <20151203101719.GG2015@techsingularity.net> (raw)
In-Reply-To: <87k2ovyl4y.fsf@yhuang-dev.intel.com>
On Thu, Dec 03, 2015 at 04:46:53PM +0800, Huang, Ying wrote:
> Mel Gorman <mgorman@techsingularity.net> writes:
>
> > On Wed, Dec 02, 2015 at 03:15:29PM +0100, Michal Hocko wrote:
> >> > > I didn't mention this allocation failure because I am not sure it is
> >> > > really related.
> >> > >
> >> >
> >> > I'm fairly sure it is. The failure is an allocation site that cannot
> >> > sleep but did not specify __GFP_HIGH.
> >>
> >> yeah but this was the case even before your patch. As the caller used
> >> GFP_ATOMIC then it got __GFP_ATOMIC after your patch so it still
> >> managed to do ALLOC_HARDER. I would agree if this was an explicit
> >> GFP_NOWAIT. Unless I am missing something your patch hasn't changed the
> >> behavior for this particular allocation.
> >>
> >
> > You're right. I think it's this hunk that is the problem.
> >
> > @@ -1186,7 +1186,7 @@ static struct request *blk_mq_map_request(struct
> > request_queue *q,
> > ctx = blk_mq_get_ctx(q);
> > hctx = q->mq_ops->map_queue(q, ctx->cpu);
> > blk_mq_set_alloc_data(&alloc_data, q,
> > - __GFP_WAIT|GFP_ATOMIC, false, ctx, hctx);
> > + __GFP_WAIT|__GFP_HIGH, false, ctx, hctx);
> > rq = __blk_mq_alloc_request(&alloc_data, rw);
> > ctx = alloc_data.ctx;
> > hctx = alloc_data.hctx;
> >
> > This specific path at this patch is not waking kswapd any more when it
> > should. A series of allocations there could hit the watermarks and never wake
> > kswapd and then be followed by an atomic allocation failure that woke kswapd.
> >
> > This bug gets fixed later by the commit 71baba4b92dc ("mm, page_alloc:
> > rename __GFP_WAIT to __GFP_RECLAIM") so it's not a bug in the current
> > kernel. However, it happens to break bisection and would be caught if each
> > individual commit was tested.
> >
> > Your __GFP_HIGH patch is still fine although not the direct fix for this
> > specific problem. Commit 71baba4b92dc is.
> >
> > Ying, does the page allocation failure messages happen when the whole
> > series is applied? i.e. is 4.4-rc3 ok?
>
> There are allocation errors for 4.4-rc3 too. dmesg is attached.
>
What is the result of the __GFP_HIGH patch to give it access to
reserves?
--
Mel Gorman
SUSE Labs
next prev parent reply other threads:[~2015-12-03 10:17 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
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 [this message]
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=20151203101719.GG2015@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.