Re: [PATCH v4] x86,sched: allow topologies where NUMA nodes share an LLC

From: Tim Chen
Date: Wed Apr 04 2018 - 14:42:18 EST


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.

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