Re: [PATCH 2/3] powerpc/numa: Populate distance map correctly

From: Srikar Dronamraju
Date: Mon May 24 2021 - 10:56:31 EST


* Valentin Schneider <valentin.schneider@xxxxxxx> [2021-05-24 15:16:22]:

> On 20/05/21 21:14, Srikar Dronamraju wrote:
> > +int arch_populate_distance_map(unsigned long *distance_map)
> > +{
> > + int i;
> > + int distance = LOCAL_DISTANCE;
> > +
> > + bitmap_set(distance_map, distance, 1);
> > +
> > + if (!form1_affinity) {
> > + bitmap_set(distance_map, REMOTE_DISTANCE, 1);
> > + return 0;
> > + }
> > +
> > + for (i = 0; i < distance_ref_points_depth; i++) {
> > + distance *= 2;
> > + bitmap_set(distance_map, distance, 1);
>
> Do you have guarantees your distance values will always be in the form of
>
> LOCAL_DISTANCE * 2^i
>
> because that certainly isn't true for x86/arm64.
>

This is true till now. It don't think that's going to change anytime soon, but
we never know what lies ahead.

For all practical purposes, (unless a newer, shinier property is proposed,)
distance_ref_points_depth is going to give us the unique distances.

> > + }
> > + return 0;
> > +}
> > +
> > /*
> > * Returns nid in the range [0..nr_node_ids], or -1 if no useful NUMA
> > * info is found.
> > --
> > 2.27.0

--
Thanks and Regards
Srikar Dronamraju