All of lore.kernel.org
 help / color / mirror / Atom feed
From: Mel Gorman <mgorman@techsingularity.net>
To: Vlastimil Babka <vbabka@suse.cz>
Cc: Andrew Morton <akpm@linux-foundation.org>,
	Li Wang <liwang@redhat.com>, linux-mm <linux-mm@kvack.org>,
	linux-kernel@vger.kernel.org
Subject: Re: [PATCH] mm, page_alloc: Always use a captured page regardless of compaction result
Date: Fri, 19 Apr 2019 14:30:00 +0100	[thread overview]
Message-ID: <20190419133000.GL18914@techsingularity.net> (raw)
In-Reply-To: <e99a54aa-bc21-d3f3-54a5-5da0039216a9@suse.cz>

On Fri, Apr 19, 2019 at 02:54:54PM +0200, Vlastimil Babka wrote:
> On 4/19/19 10:51 AM, Mel Gorman wrote:
> > During the development of commit 5e1f0f098b46 ("mm, compaction: capture
> > a page under direct compaction"), a paranoid check was added to ensure
> > that if a captured page was available after compaction that it was
> > consistent with the final state of compaction. The intent was to catch
> > serious programming bugs such as using a stale page pointer and causing
> > corruption problems.
> > 
> > However, it is possible to get a captured page even if compaction was
> > unsuccessful if an interrupt triggered and happened to free pages in
> > interrupt context that got merged into a suitable high-order page. It's
> > highly unlikely but Li Wang did report the following warning on s390
> > occuring when testing OOM handling. Note that the warning is slightly
> > edited for clarity.
> > 
> > [ 1422.124060] WARNING: CPU: 0 PID: 9783 at mm/page_alloc.c:3777 __alloc_pages_direct_compact+0x182/0x190
> > [ 1422.124065] Modules linked in: rpcsec_gss_krb5 auth_rpcgss nfsv4 dns_resolver
> >  nfs lockd grace fscache sunrpc pkey ghash_s390 prng xts aes_s390 des_s390
> >  des_generic sha512_s390 zcrypt_cex4 zcrypt vmur binfmt_misc ip_tables xfs
> >  libcrc32c dasd_fba_mod qeth_l2 dasd_eckd_mod dasd_mod qeth qdio lcs ctcm
> >  ccwgroup fsm dm_mirror dm_region_hash dm_log dm_mod
> > [ 1422.124086] CPU: 0 PID: 9783 Comm: copy.sh Kdump: loaded Not tainted 5.1.0-rc 5 #1
> > 
> > This patch simply removes the check entirely instead of trying to be
> > clever about pages freed from interrupt context. If a serious programming
> > error was introduced, it is highly likely to be caught by prep_new_page()
> > instead.
> > 
> > Fixes: 5e1f0f098b46 ("mm, compaction: capture a page under direct compaction")
> > Reported-by: Li Wang <liwang@redhat.com>
> > Signed-off-by: Mel Gorman <mgorman@techsingularity.net>
> 
> Ah, noticed the new formal resend only after replying to the first one,
> so here goes again:
> 
> Yup, no need for a Cc: stable on a very rare WARN_ON_ONCE. So the AI
> will pick it anyway...
> 
> Acked-by: Vlastimil Babka <vbabka@suse.cz>
> 

With luck, this will be picked up and sent to Linus before 5.1 releases
and then the stable bot will not need to touch the commit at all.

-- 
Mel Gorman
SUSE Labs


      reply	other threads:[~2019-04-19 13:30 UTC|newest]

Thread overview: 3+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-04-19  8:51 [PATCH] mm, page_alloc: Always use a captured page regardless of compaction result Mel Gorman
2019-04-19 12:54 ` Vlastimil Babka
2019-04-19 13:30   ` Mel Gorman [this message]

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=20190419133000.GL18914@techsingularity.net \
    --to=mgorman@techsingularity.net \
    --cc=akpm@linux-foundation.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-mm@kvack.org \
    --cc=liwang@redhat.com \
    --cc=vbabka@suse.cz \
    /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.