Re: [PATCH x86/mm UPDATED] x86-64, NUMA: Fix distance table handling

From: Yinghai Lu
Date: Fri Mar 11 2011 - 13:02:53 EST


On Fri, Mar 11, 2011 at 7:54 AM, Tejun Heo <tj@xxxxxxxxxx> wrote:
> On Fri, Mar 11, 2011 at 07:48:00AM -0800, Yinghai Lu wrote:
>> On 03/11/2011 12:33 AM, Tejun Heo wrote:
>> > On Fri, Mar 11, 2011 at 09:29:38AM +0100, Tejun Heo wrote:
>> >> Also, I don't think your patch is correct.  Even if there is phys_dist
>> >                                                               ^
>> >                                                           no
>> >> table, emu distance tables should be built because emulated nids don't
>> >> map to physical nids one to one.  ie. Two different emulated nids can
>> >> share a physical node and the distance table should explicitly reflect
>> >> that.
>>
>> ok, when original SLIT is not there, mean only one really node.
>> so the new distance table should be filled with LOCAL_DISTANCE.
>
> No, NUMA implementation can skip numa_set_distance() entirely if the
> distance is LOCAL_DISTANCE if nids are equal, REMOTE_DISTANCE
> otherwise.  In fact, any amdtopology configuraiton would behave this
> way, so it's incorrect to fill the table with LOCAL_DISTANCE.  You
> have to check the physnid mapping and build new table whether physical
> table exists or not.  Lack of physical distance table doesn't mean all
> nodes are LOCAL_DISTANCE.

too bad. We should call numa_alloc_distance in amdtopology to set
default value in that array.

Yinghai
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/