Skip to content

Commit 1b624c1

Browse files
committed
osdev: BXI is now Network instead of OpenFabrics
Signed-off-by: Brice Goglin <[email protected]>
1 parent 015b20a commit 1b624c1

File tree

5 files changed

+13
-6
lines changed

5 files changed

+13
-6
lines changed

NEWS

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -33,6 +33,7 @@ Version 3.0.0
3333
+ The OS device "type" attribute is now a bitmask.
3434
- "Block" OS devices are now "Storage" (for actual Block devices)
3535
or "Memory" (for Linux DAX and CXL devices, etc).
36+
- BXI interfaces are now "Network" instead of "OpenFabrics".
3637
+ The "Backend" info attribute of OS devices is now in the topology
3738
root object together with other backends.
3839
+ The array and count of info attributes are now embedded in the new

doc/hwloc.doxy

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1660,12 +1660,12 @@ components when I/O discovery is enabled and supported.
16601660
<ul>
16611661
<li><em>eth0</em>, <em>wlan0</em>, <em>ib0</em> (Linux component)</li>
16621662
<li><em>hsn0</em> with "Slingshot" subtype for HPE Cray HSNs (Linux component).</li>
1663+
<li><em>bxi0</em> with "BXI" subtype for Atos/Bull BXI HCAs (Linux component).</li>
16631664
</ul>
16641665
</li>
16651666
<li>OpenFabrics (InfiniBand, Omni-Path, usNIC, etc) HCAs (::HWLOC_OBJ_OSDEV_OPENFABRICS)
16661667
<ul>
16671668
<li><em>mlx5_0</em>, <em>hfi1_0</em>, <em>qib0</em>, <em>usnic_0</em> (Linux component)</li>
1668-
<li><em>bxi0</em> with "BXI" subtype for Atos/Bull BXI HCAs (Linux component) even if those are not really OpenFabrics.</li>
16691669
</ul>
16701670
</li>
16711671
<li>GPUs (::HWLOC_OBJ_OSDEV_GPU)
@@ -1935,8 +1935,7 @@ subtype <tt>Cluster</tt>, <tt>Module</tt>, <tt>Tile</tt>, <tt>Compute Unit</tt>,
19351935
<ul>
19361936
<li>Co-processor: subtype <tt>OpenCL</tt>, <tt>LevelZero</tt>, <tt>CUDA</tt>, or <tt>VectorEngine</tt>.</li>
19371937
<li>GPU: subtype <tt>RSMI</tt> (AMD GPU) or <tt>NVML</tt> (NVIDIA GPU).</li>
1938-
<li>OpenFabrics: subtype <tt>BXI</tt> (Bull/Atos BXI HCA).</li>
1939-
<li>Network: subtype <tt>Slingshot</tt> (HPE Cray Slingshot Cassini HSN).</li>
1938+
<li>Network: subtype <tt>Slingshot</tt> (HPE Cray Slingshot Cassini HSN) or <tt>BXI</tt> (Bull/Atos BXI HCA).</li>
19401939
<li>Storage: subtype <tt>Disk</tt>, <tt>Tape</tt>, or <tt>Removable Media Device</tt>.</li>
19411940
<li>Memory: <tt>NVM</tt> (non-volatile memory), <tt>SPM</tt> (specific-purpose memory), <tt>CXLMem</tt> (CXL volatile ou persistent memory).</li>
19421941
</ul>

hwloc/topology-linux.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6615,7 +6615,7 @@ hwloc_linuxfs_lookup_bxi_class(struct hwloc_backend *backend, unsigned osdev_fla
66156615
if (!parent)
66166616
continue;
66176617

6618-
obj = hwloc_linux_add_os_device(backend, parent, HWLOC_OBJ_OSDEV_OPENFABRICS, dirent->d_name);
6618+
obj = hwloc_linux_add_os_device(backend, parent, HWLOC_OBJ_OSDEV_NETWORK, dirent->d_name);
66196619

66206620
hwloc_linuxfs_bxi_class_fillinfos(root_fd, obj, path);
66216621
}

hwloc/topology-xml.c

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -860,7 +860,10 @@ hwloc__xml_import_object(hwloc_topology_t topology,
860860
obj->attr->osdev.type = HWLOC_OBJ_OSDEV_NETWORK;
861861
break;
862862
case 3: /* v2 OFED */
863+
/* BXI which became NET only */
863864
obj->attr->osdev.type = HWLOC_OBJ_OSDEV_OPENFABRICS;
865+
if (obj->subtype && !strcmp(obj->subtype, "BXI"))
866+
obj->attr->osdev.type = HWLOC_OBJ_OSDEV_NETWORK;
864867
break;
865868
case 4: /* v2 DMA */
866869
obj->attr->osdev.type = HWLOC_OBJ_OSDEV_DMA;
@@ -2247,7 +2250,10 @@ hwloc__xml_export_object_contents (hwloc__xml_export_state_t state, hwloc_topolo
22472250
} else if (obj->attr->osdev.type == HWLOC_OBJ_OSDEV_OPENFABRICS) {
22482251
state->new_prop(state, "osdev_type", "3"); /* v2 OFED */
22492252
} else if (obj->attr->osdev.type == HWLOC_OBJ_OSDEV_NETWORK) {
2250-
state->new_prop(state, "osdev_type", "2"); /* v2 Net */
2253+
if (obj->subtype && !strcmp(obj->subtype, "BXI"))
2254+
state->new_prop(state, "osdev_type", "3"); /* v2 OFED */
2255+
else
2256+
state->new_prop(state, "osdev_type", "2"); /* v2 Net */
22512257
} else if (obj->attr->osdev.type == HWLOC_OBJ_OSDEV_DMA) {
22522258
state->new_prop(state, "osdev_type", "4"); /* v2 DMA */
22532259
} else if (obj->attr->osdev.type == HWLOC_OBJ_OSDEV_COPROC) {

include/hwloc.h

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -380,7 +380,8 @@ enum hwloc_obj_osdev_type_e {
380380
* \hideinitializer
381381
*/
382382
HWLOC_OBJ_OSDEV_NETWORK = (1ULL<<4), /**< \brief Operating system network device.
383-
* For instance the "eth0" interface on Linux.
383+
* For instance the "eth0" interface,
384+
* "bxi0" Atos/Bull BXI HCA.
384385
* \hideinitializer
385386
*/
386387
HWLOC_OBJ_OSDEV_OPENFABRICS = (1ULL<<5), /**< \brief Operating system OpenFabrics device.

0 commit comments

Comments
 (0)