I am trying to traverse the topology using hwloc APIs starting from a PCI device till Host Bridge
My code snippet: unsigned long flags = HWLOC_TOPOLOGY_FLAG_IO_DEVICES | HWLOC_TOPOLOGY_FLAG_IO_BRIDGES; retval = hwloc_topology_init(&topology); retval = hwloc_topology_set_flags(topology, flags); retval = hwloc_topology_load(topology); pciObj = hwloc_get_pcidev_by_busidstring(topology, "<Bus ID>"); while(pciObj) { pciObj = pciObj->parent; if (pciObj->attr->bridge.upstream_type != HWLOC_OBJ_BRIDGE_HOST) { //Get all the required information about intermediate bridges like // pciObj->attr->bridge.downstream.pci.secondary_bus, pciObj->attr->bridge.upstream.pci.domain // pciObj->attr->bridge.upstream.pci.bus, *pciObj->attr->bridge.upstream.pci.linkspeed* } } All the other details I am able to query but linkspeed ( *pciObj->attr->bridge.upstream.pci.linkspeed*) is always 0. Do I need to enable any other flag to get linkspeed or am I going wrong somewhere? I want to get the PCI Bridges' generation or linkspeed for my usecase. Is there any other way to get this information? Thanks & Regards, Tejaswi K
_______________________________________________ hwloc-users mailing list hwloc-users@lists.open-mpi.org https://lists.open-mpi.org/mailman/listinfo/hwloc-users