From: Srikar Dronamraju <srikar@linux.vnet.ibm.com>
To: Nathan Lynch <nathanl@linux.ibm.com>
Cc: linuxppc-dev@lists.ozlabs.org, Nicholas Piggin <npiggin@gmail.com>
Subject: Re: [PATCH 2/3] powerpc/numa: Early request for home node associativity
Date: Thu, 22 Aug 2019 23:10:05 +0530 [thread overview]
Message-ID: <20190822174005.GA31809@linux.vnet.ibm.com> (raw)
In-Reply-To: <87ftltruf7.fsf@linux.ibm.com>
* Nathan Lynch <nathanl@linux.ibm.com> [2019-08-22 12:17:48]:
> Hi Srikar,
Thanks Nathan for the review.
>
> > However home node associativity requires cpu's hwid which is set in
> > smp_setup_pacas. Hence call smp_setup_pacas before numa_setup_cpus.
>
> But this seems like it would negatively affect pacas' NUMA placements?
>
> Would it be less risky to figure out a way to do "early" VPHN hcalls
> before mem_topology_setup, getting the hwids from the cpu_to_phys_id
> array perhaps?
>
Do you mean for calls from mem_topology_setup(), stuff we use cpu_to_phys_id
but for the calls from ppc_numa_cpu_prepare() we use the
get_hard_smp_processor_id()?
Thats doable.
>
> > diff --git a/arch/powerpc/mm/numa.c b/arch/powerpc/mm/numa.c
> > index 88b5157..7965d3b 100644
> > --- a/arch/powerpc/mm/numa.c
> > +++ b/arch/powerpc/mm/numa.c
> > @@ -461,6 +461,21 @@ static int of_drconf_to_nid_single(struct drmem_lmb *lmb)
> > return nid;
> > }
> >
> > +static int vphn_get_nid(unsigned long cpu)
> > +{
> > + __be32 associativity[VPHN_ASSOC_BUFSIZE] = {0};
> > + long rc;
> > +
> > + /* Use associativity from first thread for all siblings */
>
> I don't understand how this comment corresponds to the code it
> accompanies.
Okay will rephrase
>
>
> > + rc = hcall_vphn(get_hard_smp_processor_id(cpu),
> > + VPHN_FLAG_VCPU, associativity);
> > +
> > + if (rc == H_SUCCESS)
> > + return associativity_to_nid(associativity);
> ^^ extra space
>
> > @@ -490,7 +505,18 @@ static int numa_setup_cpu(unsigned long lcpu)
> > goto out;
> > }
> >
> > - nid = of_node_to_nid_single(cpu);
> > + /*
> > + * On a shared lpar, the device tree might not have the correct node
> > + * associativity. At this time lppaca, or its __old_status field
>
> Sorry but I'm going to quibble with this phrasing a bit. On SPLPAR the
> CPU nodes have no affinity information in the device tree at all. This
> comment implies that they may have incorrect information, which is
> AFAIK not the case.
>
Okay will clarify.
--
Thanks and Regards
Srikar Dronamraju
next prev parent reply other threads:[~2019-08-22 17:44 UTC|newest]
Thread overview: 10+ messages / expand[flat|nested] mbox.gz Atom feed top
2019-08-22 14:42 [PATCH 0/3] Early node associativity Srikar Dronamraju
2019-08-22 14:42 ` [PATCH 1/3] powerpc/vphn: Check for error from hcall_vphn Srikar Dronamraju
2019-08-22 16:41 ` Nathan Lynch
2019-08-22 14:42 ` [PATCH 2/3] powerpc/numa: Early request for home node associativity Srikar Dronamraju
2019-08-22 17:17 ` Nathan Lynch
2019-08-22 17:40 ` Srikar Dronamraju [this message]
2019-08-22 18:33 ` Nathan Lynch
2019-08-23 7:16 ` Satheesh Rajendran
2019-08-27 6:57 ` Srikar Dronamraju
2019-08-22 14:42 ` [PATCH 3/3] powerpc/numa: Remove late " Srikar Dronamraju
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=20190822174005.GA31809@linux.vnet.ibm.com \
--to=srikar@linux.vnet.ibm.com \
--cc=linuxppc-dev@lists.ozlabs.org \
--cc=nathanl@linux.ibm.com \
--cc=npiggin@gmail.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.