Re: [PATCH v4] x86,sched: allow topologies where NUMA nodes share an LLC
From: Alison Schofield
Date: Wed Apr 04 2018 - 15:00:39 EST
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
>
> 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
>