All of lore.kernel.org
 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           ` Instability in current -git tree 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 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.