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

From: Tejun Heo
Date: Fri Mar 11 2011 - 10:54:55 EST


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.

--
tejun
--
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/