From: Christoph Lameter <cl@linux.com>
To: Nishanth Aravamudan <nacc@linux.vnet.ibm.com>
Cc: linux-mm@kvack.org, mgorman@suse.de,
linuxppc-dev@lists.ozlabs.org, anton@samba.org,
rientjes@google.com
Subject: Re: Bug in reclaim logic with exhausted nodes?
Date: Sat, 29 Mar 2014 00:40:41 -0500 (CDT) [thread overview]
Message-ID: <alpine.DEB.2.10.1403290038200.24286@nuc> (raw)
In-Reply-To: <20140327203354.GA16651@linux.vnet.ibm.com>
On Thu, 27 Mar 2014, Nishanth Aravamudan wrote:
> > That looks to be the correct way to handle things. Maybe mark the node as
> > offline or somehow not present so that the kernel ignores it.
>
> This is a SLUB condition:
>
> mm/slub.c::early_kmem_cache_node_alloc():
> ...
> page = new_slab(kmem_cache_node, GFP_NOWAIT, node);
> ...
So the page allocation from the node failed. We have a strange boot
condition where the OS is aware of anode but allocations on that node
fail.
> if (page_to_nid(page) != node) {
> printk(KERN_ERR "SLUB: Unable to allocate memory from "
> "node %d\n", node);
> printk(KERN_ERR "SLUB: Allocating a useless per node structure "
> "in order to be able to continue\n");
> }
> ...
>
> Since this is quite early, and we have not set up the nodemasks yet,
> does it make sense to perhaps have a temporary init-time nodemask that
> we set bits in here, and "fix-up" those nodes when we setup the
> nodemasks?
Please take care of this earlier than this. The page allocator in general
should allow allocations from all nodes with memory during boot,
next prev parent reply other threads:[~2014-03-29 5:40 UTC|newest]
Thread overview: 14+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-03-11 21:06 Bug in reclaim logic with exhausted nodes? Nishanth Aravamudan
2014-03-13 17:01 ` Nishanth Aravamudan
2014-03-24 23:05 ` Nishanth Aravamudan
2014-03-25 16:17 ` Christoph Lameter
2014-03-25 16:23 ` Nishanth Aravamudan
2014-03-25 16:53 ` Christoph Lameter
2014-03-25 18:10 ` Nishanth Aravamudan
2014-03-25 18:25 ` Christoph Lameter
2014-03-25 18:37 ` Nishanth Aravamudan
2014-03-27 20:33 ` Nishanth Aravamudan
2014-03-29 5:40 ` Christoph Lameter [this message]
2014-04-01 1:33 ` Nishanth Aravamudan
2014-04-03 16:41 ` Christoph Lameter
2014-05-12 18:46 ` Nishanth Aravamudan
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=alpine.DEB.2.10.1403290038200.24286@nuc \
--to=cl@linux.com \
--cc=anton@samba.org \
--cc=linux-mm@kvack.org \
--cc=linuxppc-dev@lists.ozlabs.org \
--cc=mgorman@suse.de \
--cc=nacc@linux.vnet.ibm.com \
--cc=rientjes@google.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).