Re: Externalize SLIT table

From: Matthew Dobson
Date: Tue Nov 09 2004 - 14:47:54 EST


On Thu, 2004-11-04 at 07:31, Erich Focht wrote:
> On Thursday 04 November 2004 15:13, Jack Steiner wrote:
> > I think it would also be useful to have a similar cpu-to-cpu distance
> > metric:
> > % cat /sys/devices/system/cpu/cpu0/distance
> > 10 20 40 60
> >
> > This gives the same information but is cpu-centric rather than
> > node centric.
>
> I don't see the use of that once you have some way to find the logical
> CPU to node number mapping. The "node distances" are meant to be
> proportional to the memory access latency ratios (20 means 2 times
> larger than local (intra-node) access, which is by definition 10).
> If the cpu_to_cpu distance is necessary because there is a hierarchy
> in the memory blocks inside one node, then maybe the definition of a
> node should be changed...
>
> We currently have (at least in -mm kernels):
> % ls /sys/devices/system/node/node0/cpu*
> for finding out which CPUs belong to which nodes. Together with
> /sys/devices/system/node/node0/distances
> this should be enough for user space NUMA tools.
>
> Regards,
> Erich

I have to agree with Erich here. Node distances make sense, but adding
'cpu distances' which are just re-exporting the node distances in each
cpu's directory in sysfs doesn't make much sense to me. Especially
because it is so trivial to get a list of which CPUs are on which node.
If you're looking for groups of CPUs which are close, simply look for
groups of nodes that are close, then use the CPUs on those nodes. If we
came up with some sort of different notion of 'distance' for CPUs and
exported that, I'd be OK with it, because it'd be new information. I
don't think we should export the *exact same* node distance information
through the CPUs, though.

-Matt

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