linux-mm.kvack.org archive mirror
 help / color / mirror / Atom feed
From: Andrew Morton <akpm@linux-foundation.org>
To: Linus Torvalds <torvalds@linux-foundation.org>
Cc: Thomas Gleixner <tglx@linutronix.de>,
	Matthew Wilcox <willy@infradead.org>,
	Ingo Molnar <mingo@redhat.com>, Jens Axboe <axboe@kernel.dk>,
	Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
	David Miller <davem@davemloft.net>,
	Al Viro <viro@zeniv.linux.org.uk>,
	Dave Airlie <airlied@gmail.com>, Tejun Heo <tj@kernel.org>,
	Ted Ts'o <tytso@google.com>, Mike Snitzer <snitzer@redhat.com>,
	linux-mm@kvack.org, Daniel Vacek <neelx@redhat.com>,
	Pavel Tatashin <pasha.tatashin@oracle.com>,
	Mel Gorman <mgorman@techsingularity.net>
Subject: Re: Instability in current -git tree
Date: Fri, 13 Jul 2018 16:48:04 -0700	[thread overview]
Message-ID: <20180713164804.fc2c27ccbac4c02ca2c8b984@linux-foundation.org> (raw)
In-Reply-To: <CA+55aFy9NJZeqT7h_rAgbKUZLjzfxvDPwneFQracBjVhY53aQQ@mail.gmail.com>

On Fri, 13 Jul 2018 16:34:49 -0700 Linus Torvalds <torvalds@linux-foundation.org> wrote:

> On Fri, Jul 13, 2018 at 4:13 PM Linus Torvalds
> <torvalds@linux-foundation.org> wrote:
> >
> > It does seem to be related to low-memory situation. Maybe page-out.
> > I'm wondering if it's one of the fairly scary MM patches from this
> > merge window
> 
> Woo-hoo! Yes, I got it to happen in text-mode.
> 
>   kernel BUG at mm/page_alloc.c:2016
> 
> with the call chain being
> 
> RIP: move_pfreepages_block()
> Call Trace:
>   steal_suitable_fallback
>   get_page_from_freelist
>   __alloc_pages_nodemask
>   new_slab
>   ___slab_alloc
>   __slab_alloc
>   kmem_cache_alloc
>   __d_alloc
>   d_alloc
>   ...
> 
> (and then it goes down to sys_openat and path lookup).
> 
> I actually used the dcache stress-tester and a stupid "allocate memory
> and keep dirtying it" to get low on memory, and that d_alloc because
> of that.
> 
> And then when VM_BUG_ON() causes a do_exit(), you get a nested
> exception due to "sleeping function called from invalid context" in
> exit_)signals. And then the machine is well and truly dead and f*cked.
> 
> I hate BUG_ON() calls. I wonder how many weeks ago it was that I
> complained about people adding BUG_ON() calls last?
> 
> Anyway, looks like core VM buggery. Now, I don't know *which* one of
> the multiple tests in that VM_BUG_ON() triggered,

They all did:

	VM_BUG_ON(pfn_valid(page_to_pfn(start_page)) &&
	          pfn_valid(page_to_pfn(end_page)) &&
	          page_zone(start_page) != page_zone(end_page));

> and I have no idea
> which commit caused it, but at least non-VM people can probably
> breathe a sigh of release.,

> Andrew, I suspect it's some of yours. Adding Willy, because some of
> the scariest ones in the VM layer are from him (like thall those page
> member movement ones).
> 

Cc's added.  Pavel has been fiddling with this code lately.

The comment is interesting.

	/*
	 * page_zone is not safe to call in this context when
	 * CONFIG_HOLES_IN_ZONE is set. This bug check is probably redundant
	 * anyway as we check zone boundaries in move_freepages_block().
	 * Remove at a later date when no bug reports exist related to
	 * grouping pages by mobility
	 */

but we should work out why we're suddenly getting a range which crosses
zones before we just zap it.

(But it would be interesting to see whether removing the check "fixes" it)

       reply	other threads:[~2018-07-13 23:48 UTC|newest]

Thread overview: 24+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <CA+55aFyARQV302+mXNYznrOOjzW+yxbcv+=OkD43dG6G1ktoMQ@mail.gmail.com>
     [not found] ` <alpine.DEB.2.21.1807140031440.2644@nanos.tec.linutronix.de>
     [not found]   ` <CA+55aFzBx1haeM2QSFvhaW2t_HVK78Y=bKvsiJmOZztwkZ-y7Q@mail.gmail.com>
     [not found]     ` <CA+55aFzVGa57apuzDMBLgWQQRcm3BNBs1UEg-G_2o7YW1i=o2Q@mail.gmail.com>
     [not found]       ` <CA+55aFy9NJZeqT7h_rAgbKUZLjzfxvDPwneFQracBjVhY53aQQ@mail.gmail.com>
2018-07-13 23:48         ` Andrew Morton [this message]
2018-07-13 23:51           ` Linus Torvalds
2018-07-13 23:58             ` Andrew Morton
2018-07-14  0:19               ` Pavel Tatashin
2018-07-14  0:28                 ` Linus Torvalds
2018-07-14  0:46                   ` Pavel Tatashin
2018-07-14  2:40                     ` Linus Torvalds
2018-07-14  3:03                       ` Pavel Tatashin
2018-07-14  3:25                         ` Linus Torvalds
2018-07-14  3:28                           ` Pavel Tatashin
2018-07-14 13:39                           ` Pavel Tatashin
2018-07-14 17:11                             ` Linus Torvalds
2018-07-14 17:29                               ` Linus Torvalds
2018-07-16 12:06                             ` Michal Hocko
2018-07-16 12:09                               ` Pavel Tatashin
2018-07-16 12:29                                 ` Michal Hocko
2018-07-16 13:26                                   ` Pavel Tatashin
2018-07-16 14:12                                     ` Michal Hocko
2018-07-16 13:39                                   ` Oscar Salvador
2018-07-14  3:04                       ` Linus Torvalds
2018-07-14  0:20             ` Linus Torvalds
2018-07-14  9:28               ` Ard Biesheuvel
2018-07-17  2:59               ` Ard Biesheuvel
2018-07-17  3:14                 ` Ard Biesheuvel

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=20180713164804.fc2c27ccbac4c02ca2c8b984@linux-foundation.org \
    --to=akpm@linux-foundation.org \
    --cc=airlied@gmail.com \
    --cc=axboe@kernel.dk \
    --cc=davem@davemloft.net \
    --cc=gregkh@linuxfoundation.org \
    --cc=linux-mm@kvack.org \
    --cc=mgorman@techsingularity.net \
    --cc=mingo@redhat.com \
    --cc=neelx@redhat.com \
    --cc=pasha.tatashin@oracle.com \
    --cc=snitzer@redhat.com \
    --cc=tglx@linutronix.de \
    --cc=tj@kernel.org \
    --cc=torvalds@linux-foundation.org \
    --cc=tytso@google.com \
    --cc=viro@zeniv.linux.org.uk \
    --cc=willy@infradead.org \
    /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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox