All of lore.kernel.org
 help / color / mirror / Atom feed
From: Li Zhong <zhong@linux.vnet.ibm.com>
To: Nishanth Aravamudan <nacc@linux.vnet.ibm.com>
Cc: Michael Ellerman <michael@ellerman.id.au>,
	PowerPC email list <linuxppc-dev@lists.ozlabs.org>,
	Paul Mackerras <paulus@samba.org>
Subject: Re: [RFC PATCH powerpc] Fix warning reported by verify_cpu_node_mapping()
Date: Fri, 22 Aug 2014 10:12:56 +0800	[thread overview]
Message-ID: <1408673576.2448.6.camel@TP420> (raw)
In-Reply-To: <20140821154529.GB10478@linux.vnet.ibm.com>

On 四, 2014-08-21 at 08:45 -0700, Nishanth Aravamudan wrote:
> On 21.08.2014 [16:14:02 +0800], Li Zhong wrote:
> > With commit 2fabf084b, during boottime, cpu_numa_callback() is called
> > earlier(before their online) for each cpu, and verify_cpu_node_mapping()
> > uses cpu_to_node() to check whether siblings are in the same node. 
> > 
> > It skips the checking for siblings that are not online yet. So the only
> > check done here is for the bootcpu, which is online at that time. But
> > the per-cpu numa_node cpu_to_node() uses hasn't been set up yet (which
> > will be set up in smp_prepare_cpus()).
> > 
> > So I could see something like following reported:
> > [    0.000000] CPU thread siblings 1/2/3 and 0 don't belong to the same
> > node!
> 
> You mean you did see this, right? (as opposed to "could" based upon code
> inspection or something)

Yes, I did see the warnings. Seems I didn't express it precisely in
English ...

> 
> > 
> > As we don't actually do the checking during this early stage, so maybe
> > we could directly call numa_setup_cpu() in do_init_bootmem()?
> > 
> > Signed-off-by: Li Zhong <zhong@linux.vnet.ibm.com>
> 
> Acked-by: Nishanth Aravamudan <nacc@linux.vnet.ibm.com>

Thank you for the review,

Zhong

> 
> > ---
> >  arch/powerpc/mm/numa.c | 3 +--
> >  1 file changed, 1 insertion(+), 2 deletions(-)
> > 
> > diff --git a/arch/powerpc/mm/numa.c b/arch/powerpc/mm/numa.c
> > index d7737a5..9918c02 100644
> > --- a/arch/powerpc/mm/numa.c
> > +++ b/arch/powerpc/mm/numa.c
> > @@ -1128,8 +1128,7 @@ void __init do_init_bootmem(void)
> >  	 * early in boot, cf. smp_prepare_cpus().
> >  	 */
> >  	for_each_possible_cpu(cpu) {
> > -		cpu_numa_callback(&ppc64_numa_nb, CPU_UP_PREPARE,
> > -				  (void *)(unsigned long)cpu);
> > +		numa_setup_cpu((unsigned long)cpu);
> 
> This is a good change, thanks for catching it. I must have glossed over
> those messages in my testing, my apologies!
> 
> -Nish

  reply	other threads:[~2014-08-22  2:13 UTC|newest]

Thread overview: 10+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-08-21  8:14 [RFC PATCH powerpc] Fix warning reported by verify_cpu_node_mapping() Li Zhong
2014-08-21 15:45 ` Nishanth Aravamudan
2014-08-22  2:12   ` Li Zhong [this message]
2014-08-22 22:04     ` Nishanth Aravamudan
2014-08-25  6:01       ` Li Zhong
2014-08-25  7:22       ` [PATCH v2] powerpc: " Li Zhong
2014-08-26 13:10         ` Nathan Fontenot
2014-08-26 15:17           ` Nishanth Aravamudan
2014-08-27  1:41           ` Li Zhong
2014-08-27  9:10             ` Li Zhong

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=1408673576.2448.6.camel@TP420 \
    --to=zhong@linux.vnet.ibm.com \
    --cc=linuxppc-dev@lists.ozlabs.org \
    --cc=michael@ellerman.id.au \
    --cc=nacc@linux.vnet.ibm.com \
    --cc=paulus@samba.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.