Messages in this thread | | | Date | Fri, 6 Apr 2018 17:17:01 -0700 | From | Alison Schofield <> | Subject | Re: [PATCH v4] x86,sched: allow topologies where NUMA nodes share an LLC |
| |
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 > >
| |