All of lore.kernel.org
 help / color / mirror / Atom feed
From: Nishanth Aravamudan <nacc@linux.vnet.ibm.com>
To: David Rientjes <rientjes@google.com>
Cc: Tejun Heo <htejun@gmail.com>,
	linux-mm@kvack.org, tony.luck@intel.com, anton@samba.org,
	Christoph Lameter <cl@linux.com>,
	linuxppc-dev@lists.ozlabs.org
Subject: Re: Node 0 not necessary for powerpc?
Date: Tue, 10 Jun 2014 16:31:57 -0700	[thread overview]
Message-ID: <20140610233157.GB24463@linux.vnet.ibm.com> (raw)
In-Reply-To: <alpine.DEB.2.02.1406091447240.5271@chino.kir.corp.google.com>

On 09.06.2014 [14:47:57 -0700], David Rientjes wrote:
> On Wed, 21 May 2014, Nishanth Aravamudan wrote:
> 
> > For context: I was looking at why N_ONLINE was statically setting Node 0
> > to be online, whether or not the topology is that way -- I've been
> > getting several bugs lately where Node 0 is online, but has no CPUs and
> > no memory on it, on powerpc. 
> > 
> > On powerpc, setup_per_cpu_areas calls into ___alloc_bootmem_node using
> > NODE_DATA(cpu_to_node(cpu)).
> > 
> > Currently, cpu_to_node() in arch/powerpc/include/asm/topology.h does:
> > 
> >         /*
> >          * During early boot, the numa-cpu lookup table might not have been
> >          * setup for all CPUs yet. In such cases, default to node 0.
> >          */
> >         return (nid < 0) ? 0 : nid;
> > 
> > And so early at boot, if node 0 is not present, we end up accessing an
> > unitialized NODE_DATA(). So this seems buggy (I'll contact the powerpc
> > deveopers separately on that).
> > 
> 
> I think what this really wants to do is NODE_DATA(cpu_to_mem(cpu)) and I 
> thought ppc had the cpu-to-local-memory-node mappings correct?

Except cpu_to_mem relies on the mapping being defined, but early in
boot, specifically, it isn't yet (at least not necessarily).

-Nish

WARNING: multiple messages have this Message-ID (diff)
From: Nishanth Aravamudan <nacc@linux.vnet.ibm.com>
To: David Rientjes <rientjes@google.com>
Cc: Tejun Heo <htejun@gmail.com>, Christoph Lameter <cl@linux.com>,
	linux-mm@kvack.org, linuxppc-dev@lists.ozlabs.org,
	anton@samba.org, benh@kernel.crashing.org, tony.luck@intel.com
Subject: Re: Node 0 not necessary for powerpc?
Date: Tue, 10 Jun 2014 16:31:57 -0700	[thread overview]
Message-ID: <20140610233157.GB24463@linux.vnet.ibm.com> (raw)
In-Reply-To: <alpine.DEB.2.02.1406091447240.5271@chino.kir.corp.google.com>

On 09.06.2014 [14:47:57 -0700], David Rientjes wrote:
> On Wed, 21 May 2014, Nishanth Aravamudan wrote:
> 
> > For context: I was looking at why N_ONLINE was statically setting Node 0
> > to be online, whether or not the topology is that way -- I've been
> > getting several bugs lately where Node 0 is online, but has no CPUs and
> > no memory on it, on powerpc. 
> > 
> > On powerpc, setup_per_cpu_areas calls into ___alloc_bootmem_node using
> > NODE_DATA(cpu_to_node(cpu)).
> > 
> > Currently, cpu_to_node() in arch/powerpc/include/asm/topology.h does:
> > 
> >         /*
> >          * During early boot, the numa-cpu lookup table might not have been
> >          * setup for all CPUs yet. In such cases, default to node 0.
> >          */
> >         return (nid < 0) ? 0 : nid;
> > 
> > And so early at boot, if node 0 is not present, we end up accessing an
> > unitialized NODE_DATA(). So this seems buggy (I'll contact the powerpc
> > deveopers separately on that).
> > 
> 
> I think what this really wants to do is NODE_DATA(cpu_to_mem(cpu)) and I 
> thought ppc had the cpu-to-local-memory-node mappings correct?

Except cpu_to_mem relies on the mapping being defined, but early in
boot, specifically, it isn't yet (at least not necessarily).

-Nish

--
To unsubscribe, send a message with 'unsubscribe linux-mm' in
the body to majordomo@kvack.org.  For more info on Linux MM,
see: http://www.linux-mm.org/ .
Don't email: <a href=mailto:"dont@kvack.org"> email@kvack.org </a>

  reply	other threads:[~2014-06-10 23:32 UTC|newest]

Thread overview: 28+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-03-11 19:56 Node 0 not necessary for powerpc? Nishanth Aravamudan
2014-03-11 19:56 ` Nishanth Aravamudan
2014-03-12  2:02 ` David Rientjes
2014-03-12  2:02   ` David Rientjes
2014-03-13 16:48   ` Nishanth Aravamudan
2014-03-13 16:48     ` Nishanth Aravamudan
2014-03-12 13:41 ` Christoph Lameter
2014-03-12 13:41   ` Christoph Lameter
2014-03-13 16:49   ` Nishanth Aravamudan
2014-03-13 16:49     ` Nishanth Aravamudan
2014-05-19 18:24     ` Nishanth Aravamudan
2014-05-19 18:24       ` Nishanth Aravamudan
2014-05-21 14:16       ` Christoph Lameter
2014-05-21 14:16         ` Christoph Lameter
2014-05-21 18:58         ` Tejun Heo
2014-05-21 18:58           ` Tejun Heo
2014-05-21 19:57           ` Nishanth Aravamudan
2014-05-21 19:57             ` Nishanth Aravamudan
2014-06-09 21:47             ` David Rientjes
2014-06-09 21:47               ` David Rientjes
2014-06-10 23:31               ` Nishanth Aravamudan [this message]
2014-06-10 23:31                 ` Nishanth Aravamudan
2014-06-19 14:59                 ` Tejun Heo
2014-06-19 14:59                   ` Tejun Heo
2014-06-19 17:40                   ` Nishanth Aravamudan
2014-06-19 17:40                     ` Nishanth Aravamudan
2014-06-19 17:14           ` Nishanth Aravamudan
2014-06-19 17:14             ` 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=20140610233157.GB24463@linux.vnet.ibm.com \
    --to=nacc@linux.vnet.ibm.com \
    --cc=anton@samba.org \
    --cc=cl@linux.com \
    --cc=htejun@gmail.com \
    --cc=linux-mm@kvack.org \
    --cc=linuxppc-dev@lists.ozlabs.org \
    --cc=rientjes@google.com \
    --cc=tony.luck@intel.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 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.