Le 10/02/2012 21:16, Jeff Squyres a écrit : > When PCI devices are put into the tree, do they potentially make other > objects be a different depths? > > For example, http://www.open-mpi.org/projects/hwloc/devel09-pci.png has a PCI > bridge hanging off a socket. Are the cores on sockets P0 and P1 at the same > depth? >
All objects of the same type are *always* at the same depth (for caches and groups, replace "same type" with "same type and same level" so that L1 is not at the same depth as L3). That works even if your topology is not symmetric at all, because a children can have a depth that is different from its parent depth plus one. PCI objects are not placed in levels are other regular objects do. There are in specific list. However, to make the API more uniform, we have some fake depth values that let us identify and walk in the list of bridges, PCI devices or OS devices. In the above case, the NUMA node P#0 should be at depth 1, it has two children. The first one is Socket P#1 at depth 2. The second one is a hostbridge at depth -3 (fake depth for bridges iirc). Brice