On Wed, Apr 04, 2018 at 12:00:45PM -0700, Alison Schofield wrote:
> On Wed, Apr 04, 2018 at 11:42:11AM -0700, Tim Chen wrote:
> > On 04/04/2018 10:38 AM, Alison Schofield wrote:
> > > On Wed, Apr 04, 2018 at 10:24:49AM -0700, Tim Chen wrote:
> > >> On 04/03/2018 02:12 PM, Alison Schofield wrote:
> > >>
> > >>> +
> > >>> +       /*
> > >>> +        * topology_sane() considers LLCs that span NUMA nodes to be
> > >>> +        * insane and will display a warning message. Bypass the call
> > >>> +        * to topology_sane() for snc_cpu's to avoid that warning.
> > >>> +        */
> > >>> +
> > >>> +       if (!topology_same_node(c, o) && x86_match_cpu(snc_cpu)) {
> > >>> +               /* Indicate that package has NUMA nodes inside: */
> > >>> +               x86_has_numa_in_package = true;
> > >>
> > >> Why does the x86_has_numa_in_package has to be set here when it would 
> > >> have
> > >> been done later in set_cpu_sibling_map?
> > > 
> > > Tim,
> > > I had that same thought when you commented on it previously. After 
> > > discussing w DaveH, decided that match_llc() and match_die(c,0)
> > > could be different and chose to be (cautiously) redundant.
> > > alisons
> > 
> > If it is redundant, I suggest it be removed, and only added if
> > there is truly a case where the current logic 
> > 
> >                 if (match_die(c, o) && !topology_same_node(c, o))
> >                         x86_has_numa_in_package = true;
> > 
> > fails.  And also the modification of this logic should be at the
> > same place for easy code maintenance. 
> 
> That makes good sense. I'll look to define the difference or remove
> the redundancy.
> 
> alisons
I found not reason for the redundancy via experimentation w my Skylake,
nor through code examination. I've removed it in v5. I'll see if
anyone claims theoretical case.
alisons
> 
> > 
> > Tim  
> > 
> > > 
> > > 
> > > 
> > >>
> > >>> +
> > >>> +               /*
> > >>> +                * false means 'c' does not share the LLC of 'o'.
> > >>> +                * Note: this decision gets reflected all the way
> > >>> +                * out to userspace.
> > >>> +                */
> > >>> +
> > >>> +               return false;
> > >>
> > >> Thanks.
> > >>
> > >> Tim
> > 

Reply via email to