From: Michal Hocko <mhocko@kernel.org>
To: Pavel Tatashin <pasha.tatashin@oracle.com>
Cc: Linus Torvalds <torvalds@linux-foundation.org>,
Andrew Morton <akpm@linux-foundation.org>,
tglx@linutronix.de, willy@infradead.org, mingo@redhat.com,
axboe@kernel.dk, gregkh@linuxfoundation.org, davem@davemloft.net,
viro@zeniv.linux.org.uk, Dave Airlie <airlied@gmail.com>,
Tejun Heo <tj@kernel.org>, Theodore Tso <tytso@google.com>,
snitzer@redhat.com,
Linux Memory Management List <linux-mm@kvack.org>,
neelx@redhat.com, mgorman@techsingularity.net
Subject: Re: Instability in current -git tree
Date: Mon, 16 Jul 2018 14:06:42 +0200 [thread overview]
Message-ID: <20180716120642.GN17280@dhcp22.suse.cz> (raw)
In-Reply-To: <CAGM2reb2Zk6t=QJtJZPRGwovKKR9bdm+fzgmA_7CDVfDTjSgKA@mail.gmail.com>
On Sat 14-07-18 09:39:29, Pavel Tatashin wrote:
[...]
> From 95259841ef79cc17c734a994affa3714479753e3 Mon Sep 17 00:00:00 2001
> From: Pavel Tatashin <pasha.tatashin@oracle.com>
> Date: Sat, 14 Jul 2018 09:15:07 -0400
> Subject: [PATCH] mm: zero unavailable pages before memmap init
>
> We must zero struct pages for memory that is not backed by physical memory,
> or kernel does not have access to.
>
> Recently, there was a change which zeroed all memmap for all holes in e820.
> Unfortunately, it introduced a bug that is discussed here:
>
> https://www.spinics.net/lists/linux-mm/msg156764.html
>
> Linus, also saw this bug on his machine, and confirmed that pulling
> commit 124049decbb1 ("x86/e820: put !E820_TYPE_RAM regions into memblock.reserved")
> fixes the issue.
>
> The problem is that we incorrectly zero some struct pages after they were
> setup.
I am sorry but I simply do not see it. zero_resv_unavail should be
touching only reserved memory ranges and those are not initialized
anywhere. So who has reused them and put them to normal available
memory to be initialized by free_area_init_node[s]?
The patch itself should be safe because reserved and available memory
ranges should be disjoint so the ordering shouldn't matter. The fact
that it matters is the crux thing to understand and document. So the
change looks good to me but I do not understand _why_ it makes any
difference. There must be somebody to put (memblock) reserved memory
available to the page allocator behind our backs.
--
Michal Hocko
SUSE Labs
next prev parent reply other threads:[~2018-07-16 12:06 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
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 [this message]
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=20180716120642.GN17280@dhcp22.suse.cz \
--to=mhocko@kernel.org \
--cc=airlied@gmail.com \
--cc=akpm@linux-foundation.org \
--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