Messages in this thread | | | Date | Fri, 11 Mar 2011 16:54:46 +0100 | From | Tejun Heo <> | Subject | Re: [PATCH x86/mm UPDATED] x86-64, NUMA: Fix distance table handling |
| |
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
| |