Le 07/08/2012 00:36, Wheeler, Kyle Bruce a écrit : > Ahhhh, that's key! The documentation currently says "Look at ancestor > objects from the bottom to the top until one of them contains a > distance matrix that matches the objects exactly", which suggests to > me that it will traverse the object hierarchy looking for the > NUMANodes *for* me.
Ahh, this one is exactly what's really confusing. There are two things here: 1) the object that contains the distance matrix 2) the object that are covered by the matrix When the matrix covers the entire machine (usual case), (1) is the root object and (2) are NUMA nodes. If you ever have a distance matrix between all cores of the first socket (and not any other core in the machine), the first socket object would contain a matrix with distance->relative_depth = depth(socket)-depth(core) So when you're looking for Core latencies, you check whether the ancestor immediately above Core contain a matrix for Core distances, then its parent, ... up to the root object. So it's about (1) moving up but (2) remains the same type (but (2) gets wider when (1) goes up). Brice