Skip to content

Commit 3b6bc32

Browse files
committed
obj_type_snprintf: show "OS[type]" or "OSDev[type]" instead of "type" by default
And add a SHORT_NAMES flag to revert to the old behavior, enabled by default in lstopo. This will help disambiguating things like "memory" that could have different meaning ("memory osdev" in 3+, "memory" kind, etc). enum hwloc_obj_snprintf_flag_e gets renumbered but it wasn't released yet anyway. Signed-off-by: Brice Goglin <[email protected]>
1 parent d0073e6 commit 3b6bc32

12 files changed

+119
-77
lines changed

hwloc/traversal.c

Lines changed: 62 additions & 34 deletions
Original file line numberDiff line numberDiff line change
@@ -327,6 +327,37 @@ hwloc__type_match(const char *string,
327327
return NULL;
328328
}
329329

330+
static int
331+
hwloc__osdev_type_sscanf(const char *string, hwloc_obj_osdev_type_t *ostype)
332+
{
333+
if (hwloc__type_match(string, "storage", 4)
334+
|| hwloc__type_match(string, "block", 4)) { /* backward compat with v2.x */
335+
*ostype = HWLOC_OBJ_OSDEV_STORAGE;
336+
return 1;
337+
} else if (hwloc__type_match(string, "memory", 3)) {
338+
*ostype = HWLOC_OBJ_OSDEV_MEMORY;
339+
return 1;
340+
} else if (hwloc__type_match(string, "network", 3)) {
341+
*ostype = HWLOC_OBJ_OSDEV_NETWORK;
342+
return 1;
343+
} else if (hwloc__type_match(string, "ofed", 4)
344+
|| hwloc__type_match(string, "openfabrics", 7)) {
345+
*ostype = HWLOC_OBJ_OSDEV_OPENFABRICS;
346+
return 1;
347+
} else if (hwloc__type_match(string, "dma", 3)) {
348+
*ostype = HWLOC_OBJ_OSDEV_DMA;
349+
return 1;
350+
} else if (hwloc__type_match(string, "gpu", 3)) {
351+
*ostype = HWLOC_OBJ_OSDEV_GPU;
352+
return 1;
353+
} else if (hwloc__type_match(string, "coproc", 5)
354+
|| hwloc__type_match(string, "co-processor", 6)) {
355+
*ostype = HWLOC_OBJ_OSDEV_COPROC;
356+
return 1;
357+
}
358+
return 0;
359+
}
360+
330361
int
331362
hwloc_type_sscanf(const char *string, hwloc_obj_type_t *typep,
332363
union hwloc_obj_attr_u *attrp, size_t attrsize)
@@ -344,32 +375,20 @@ hwloc_type_sscanf(const char *string, hwloc_obj_type_t *typep,
344375

345376
/* types without a custom depth */
346377

347-
/* osdev subtype first to avoid conflicts coproc/core etc */
348-
if (hwloc__type_match(string, "osdev", 2)) {
378+
if (!hwloc_strncasecmp(string, "osdev[", 6)) {
379+
/* proper "OSDev[type]" */
349380
type = HWLOC_OBJ_OS_DEVICE;
350-
} else if (hwloc__type_match(string, "storage", 4)
351-
|| hwloc__type_match(string, "block", 4)) { /* backward compat with v2.x */
381+
hwloc__osdev_type_sscanf(string+6, &ostype);
382+
} else if (!hwloc_strncasecmp(string, "os[", 3)) {
383+
/* shorter "OS[type]" */
352384
type = HWLOC_OBJ_OS_DEVICE;
353-
ostype = HWLOC_OBJ_OSDEV_STORAGE;
354-
} else if (hwloc__type_match(string, "memory", 3)) {
355-
type = HWLOC_OBJ_OS_DEVICE;
356-
ostype = HWLOC_OBJ_OSDEV_MEMORY;
357-
} else if (hwloc__type_match(string, "network", 3)) {
385+
hwloc__osdev_type_sscanf(string+3, &ostype);
386+
} else if (hwloc__type_match(string, "osdev", 2)) {
387+
/* basic "OSDev" without type */
358388
type = HWLOC_OBJ_OS_DEVICE;
359-
ostype = HWLOC_OBJ_OSDEV_NETWORK;
360-
} else if (hwloc__type_match(string, "openfabrics", 7)) {
361-
type = HWLOC_OBJ_OS_DEVICE;
362-
ostype = HWLOC_OBJ_OSDEV_OPENFABRICS;
363-
} else if (hwloc__type_match(string, "dma", 3)) {
364-
type = HWLOC_OBJ_OS_DEVICE;
365-
ostype = HWLOC_OBJ_OSDEV_DMA;
366-
} else if (hwloc__type_match(string, "gpu", 3)) {
389+
} else if (hwloc__osdev_type_sscanf(string, &ostype)) {
390+
/* ugly osdev type without "osdev" prefix, parsed here to avoid conflicts coproc/core/etc below */
367391
type = HWLOC_OBJ_OS_DEVICE;
368-
ostype = HWLOC_OBJ_OSDEV_GPU;
369-
} else if (hwloc__type_match(string, "coproc", 5)
370-
|| hwloc__type_match(string, "co-processor", 6)) {
371-
type = HWLOC_OBJ_OS_DEVICE;
372-
ostype = HWLOC_OBJ_OSDEV_COPROC;
373392

374393
} else if (hwloc__type_match(string, "machine", 2)) {
375394
type = HWLOC_OBJ_MACHINE;
@@ -524,6 +543,7 @@ int
524543
hwloc_obj_type_snprintf(char * __hwloc_restrict string, size_t size, hwloc_obj_t obj, unsigned long flags)
525544
{
526545
int longnames = (flags & (HWLOC_OBJ_SNPRINTF_FLAG_OLD_VERBOSE|HWLOC_OBJ_SNPRINTF_FLAG_LONG_NAMES));
546+
int shortnames = (flags & HWLOC_OBJ_SNPRINTF_FLAG_SHORT_NAMES);
527547
hwloc_obj_type_t type = obj->type;
528548
switch (type) {
529549
case HWLOC_OBJ_MISC:
@@ -558,21 +578,29 @@ hwloc_obj_type_snprintf(char * __hwloc_restrict string, size_t size, hwloc_obj_t
558578
return hwloc_snprintf(string, size, obj->attr->bridge.upstream_type == HWLOC_OBJ_BRIDGE_PCI ? "PCIBridge" : "HostBridge");
559579
case HWLOC_OBJ_PCI_DEVICE:
560580
return hwloc_snprintf(string, size, "PCI");
561-
case HWLOC_OBJ_OS_DEVICE:
581+
case HWLOC_OBJ_OS_DEVICE: {
582+
const char *prefix = shortnames ? "" : longnames ? "OSDev" : "OS";
583+
const char *middle;
562584
switch (obj->attr->osdev.type) {
563-
case HWLOC_OBJ_OSDEV_STORAGE: return hwloc_snprintf(string, size, "Storage");
564-
case HWLOC_OBJ_OSDEV_MEMORY: return hwloc_snprintf(string, size, longnames ? "Memory" : "Mem");
565-
case HWLOC_OBJ_OSDEV_NETWORK: return hwloc_snprintf(string, size, longnames ? "Network" : "Net");
566-
case HWLOC_OBJ_OSDEV_OPENFABRICS: return hwloc_snprintf(string, size, "OpenFabrics");
567-
case HWLOC_OBJ_OSDEV_DMA: return hwloc_snprintf(string, size, "DMA");
568-
case HWLOC_OBJ_OSDEV_GPU: return hwloc_snprintf(string, size, "GPU");
569-
case HWLOC_OBJ_OSDEV_COPROC: return hwloc_snprintf(string, size, longnames ? "Co-Processor" : "CoProc");
585+
case HWLOC_OBJ_OSDEV_STORAGE: middle = "Storage"; break;
586+
case HWLOC_OBJ_OSDEV_MEMORY: middle = longnames ? "Memory" : "Mem"; break;
587+
case HWLOC_OBJ_OSDEV_NETWORK: middle = longnames ? "Network" : "Net"; break;
588+
case HWLOC_OBJ_OSDEV_OPENFABRICS: middle = longnames ? "OpenFabrics" : "OFED"; break;
589+
case HWLOC_OBJ_OSDEV_DMA: middle = "DMA"; break;
590+
case HWLOC_OBJ_OSDEV_GPU: middle = "GPU"; break;
591+
case HWLOC_OBJ_OSDEV_COPROC: middle = longnames ? "Co-Processor" : "CoProc"; break;
570592
default:
571-
if (size > 0)
572-
*string = '\0';
573-
return 0;
593+
middle = NULL;
574594
}
575-
break;
595+
if (middle) {
596+
if (shortnames)
597+
return hwloc_snprintf(string, size, "%s", middle);
598+
else
599+
return hwloc_snprintf(string, size, "%s[%s]", prefix, middle);
600+
} else
601+
return hwloc_snprintf(string, size, "%s", prefix);
602+
}
603+
/* fallthrough */
576604
default:
577605
if (size > 0)
578606
*string = '\0';

include/hwloc.h

Lines changed: 15 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1066,6 +1066,9 @@ HWLOC_DECLSPEC int hwloc_obj_type_snprintf(char * __hwloc_restrict string, size_
10661066
*
10671067
* \return the number of characters that were actually written if not truncating,
10681068
* or that would have been written (not including the ending \\0).
1069+
*
1070+
* \note By default the output string is reasonably short without being ambiguous
1071+
* so that hwloc_type_sscanf() may parse it back.
10691072
*/
10701073
HWLOC_DECLSPEC int hwloc_obj_attr_snprintf(char * __hwloc_restrict string, size_t size,
10711074
hwloc_obj_t obj, const char * __hwloc_restrict separator,
@@ -1078,22 +1081,29 @@ enum hwloc_obj_snprintf_flag_e {
10781081
*/
10791082
HWLOC_OBJ_SNPRINTF_FLAG_LONG_NAMES = 1ULL<<1,
10801083

1084+
/** \brief Reduce the name even if it may become ambiguous,
1085+
* for instance by removing the OS device prefix.
1086+
* hwloc_type_sscanf() might not be able to parse it back exactly anymore.
1087+
* \hideinitializer
1088+
*/
1089+
HWLOC_OBJ_SNPRINTF_FLAG_SHORT_NAMES = 1ULL<<2,
1090+
10811091
/** \brief Display additional attributes such as
10821092
* cache associativity, PCI link speed, and total memory.
10831093
* \hideinitializer
10841094
*/
1085-
HWLOC_OBJ_SNPRINTF_FLAG_MORE_ATTRS =1ULL<<2,
1095+
HWLOC_OBJ_SNPRINTF_FLAG_MORE_ATTRS =1ULL<<3,
10861096

10871097
/** \brief Display memory sizes in bytes without units.
10881098
* \hideinitializer
10891099
*/
1090-
HWLOC_OBJ_SNPRINTF_FLAG_NO_UNITS = 1ULL<<3,
1100+
HWLOC_OBJ_SNPRINTF_FLAG_NO_UNITS = 1ULL<<4,
10911101

10921102
/** \brief Display memory sizes in KB, MB, GB, etc
10931103
* i.e. divide by 1000 instead of 1024 for KiB, MiB, GiB, etc.
10941104
* \hideinitializer
10951105
*/
1096-
HWLOC_OBJ_SNPRINTF_FLAG_UNITS_1000 = 1ULL<<4,
1106+
HWLOC_OBJ_SNPRINTF_FLAG_UNITS_1000 = 1ULL<<5,
10971107

10981108
/** \brief Backward compatibility with hwloc 2.x verbose mode,
10991109
* shows additional attributes,
@@ -1122,7 +1132,8 @@ enum hwloc_obj_snprintf_flag_e {
11221132
* \return 0 if a type was correctly identified, otherwise -1.
11231133
*
11241134
* \note This function is guaranteed to match any string returned by
1125-
* hwloc_obj_type_string() or hwloc_obj_type_snprintf().
1135+
* hwloc_obj_type_string() or hwloc_obj_type_snprintf() except if
1136+
* ::HWLOC_OBJ_SNPRINTF_FLAG_SHORT_NAMES was given.
11261137
*/
11271138
HWLOC_DECLSPEC int hwloc_type_sscanf(const char *string,
11281139
hwloc_obj_type_t *typep,

include/hwloc/rename.h

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -209,6 +209,7 @@ extern "C" {
209209
#define hwloc_obj_attr_snprintf HWLOC_NAME(obj_attr_snprintf )
210210
#define hwloc_obj_snprintf_flag_e HWLOC_NAME(obj_snprintf_flag_e)
211211
#define HWLOC_OBJ_SNPRINTF_FLAG_LONG_NAMES HWLOC_NAME_CAPS(OBJ_SNPRINTF_FLAG_LONG_NAMES)
212+
#define HWLOC_OBJ_SNPRINTF_FLAG_SHORT_NAMES HWLOC_NAME_CAPS(OBJ_SNPRINTF_FLAG_SHORT_NAMES)
212213
#define HWLOC_OBJ_SNPRINTF_FLAG_MORE_ATTRS HWLOC_NAME_CAPS(OBJ_SNPRINTF_FLAG_MORE_ATTRS)
213214
#define HWLOC_OBJ_SNPRINTF_FLAG_NO_UNITS HWLOC_NAME_CAPS(OBJ_SNPRINTF_FLAG_NO_UNITS)
214215
#define HWLOC_OBJ_SNPRINTF_FLAG_UNITS_1000 HWLOC_NAME_CAPS(OBJ_SNPRINTF_FLAG_UNITS_1000)

tests/hwloc/linux/2pa-pcidomain32bits.console

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -8,10 +8,10 @@ Machine (P#0 total=2004MiB DMIProductName="CloudStack KVM Hypervisor" DMIProduct
88
PU L#0 (P#0)
99
HostBridge L#0 (buses=0000:[00-00])
1010
PCI L#0 (busid=0000:00:01.1 id=8086:7010 class=0101(IDE) PCISlot=1)
11-
Storage(Removable Media Device) L#0 (Size=1048575 SectorSize=512 LinuxDeviceID=11:0 Model=QEMU_DVD-ROM Revision=1.5.3 SerialNumber=QM00003) "sr0"
11+
OSDev[Storage](Removable Media Device) L#0 (Size=1048575 SectorSize=512 LinuxDeviceID=11:0 Model=QEMU_DVD-ROM Revision=1.5.3 SerialNumber=QM00003) "sr0"
1212
PCI L#1 (busid=0000:00:02.0 id=1013:00b8 class=0300(VGA) PCISlot=2)
1313
PCI L#2 (busid=0000:00:03.0 id=1af4:1000 class=0200(Ethernet) PCISlot=3)
14-
Network L#1 (Address=06:7a:4c:00:00:22) "ens3"
14+
OSDev[Network] L#1 (Address=06:7a:4c:00:00:22) "ens3"
1515
Package L#1 (P#1 CPUVendor=GenuineIntel CPUFamilyNumber=6 CPUModelNumber=94 CPUModel="Intel Core Processor (Skylake, IBRS)" CPUStepping=3)
1616
L2Cache L#1 (size=4096KiB linesize=64 ways=16)
1717
L1dCache L#1 (size=32KiB linesize=64 ways=8)
@@ -20,7 +20,7 @@ Machine (P#0 total=2004MiB DMIProductName="CloudStack KVM Hypervisor" DMIProduct
2020
PU L#1 (P#1)
2121
HostBridge L#1 (buses=10000:[00-00])
2222
PCI L#3 (busid=10000:00:04.0 id=1af4:1001 class=0100(SCSI))
23-
Storage L#2 (Size=20971520 SectorSize=512 LinuxDeviceID=254:0) "vda"
23+
OSDev[Storage] L#2 (Size=20971520 SectorSize=512 LinuxDeviceID=254:0) "vda"
2424
depth 0: 1 Machine (type #0)
2525
depth 1: 2 Package (type #1)
2626
depth 2: 2 L2Cache (type #5)

tests/hwloc/linux/32intel64-2p8co2t+8ve.console

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -57,40 +57,40 @@ Machine (P#0 total=93GiB DMIProductName=SYS-4029GP-TRT2-1-NE010 DMIProductVersio
5757
PCI L#0 (busid=0000:1a:00.0 id=15b3:1013 class=0207(InfiniBand) link=15.75GB/s)
5858
PCIBridge L#4 (busid=0000:19:08.0 id=10b5:9797 class=0604(PCIBridge) link=15.75GB/s buses=0000:[1b-1b])
5959
PCI L#1 (busid=0000:1b:00.0 id=1bcf:001c class=0b40(Co-Processor) link=15.75GB/s)
60-
Co-Processor(VectorEngine) L#0 (VectorEngineModel=1 VectorEngineSerialNumber=32424a32333030343900000000000000 VectorEngineCores=8 VectorEngineMemorySize=50331648 VectorEngineLLCSize=16384 VectorEngineL2Size=256 VectorEngineL1dSize=32 VectorEngineL1iSize=32) "ve0"
60+
OSDev[Co-Processor](VectorEngine) L#0 (VectorEngineModel=1 VectorEngineSerialNumber=32424a32333030343900000000000000 VectorEngineCores=8 VectorEngineMemorySize=50331648 VectorEngineLLCSize=16384 VectorEngineL2Size=256 VectorEngineL1dSize=32 VectorEngineL1iSize=32) "ve0"
6161
PCIBridge L#5 (busid=0000:19:0c.0 id=10b5:9797 class=0604(PCIBridge) link=15.75GB/s buses=0000:[1c-1c])
6262
PCI L#2 (busid=0000:1c:00.0 id=1bcf:001c class=0b40(Co-Processor) link=15.75GB/s)
63-
Co-Processor(VectorEngine) L#1 (VectorEngineModel=1 VectorEngineSerialNumber=32424a35303030313800000000000000 VectorEngineCores=8 VectorEngineMemorySize=50331648 VectorEngineLLCSize=16384 VectorEngineL2Size=256 VectorEngineL1dSize=32 VectorEngineL1iSize=32) "ve1"
63+
OSDev[Co-Processor](VectorEngine) L#1 (VectorEngineModel=1 VectorEngineSerialNumber=32424a35303030313800000000000000 VectorEngineCores=8 VectorEngineMemorySize=50331648 VectorEngineLLCSize=16384 VectorEngineL2Size=256 VectorEngineL1dSize=32 VectorEngineL1iSize=32) "ve1"
6464
PCIBridge L#6 (busid=0000:19:10.0 id=10b5:9797 class=0604(PCIBridge) link=15.75GB/s buses=0000:[1d-1d])
6565
PCI L#3 (busid=0000:1d:00.0 id=1bcf:001c class=0b40(Co-Processor) link=15.75GB/s)
66-
Co-Processor(VectorEngine) L#2 (VectorEngineModel=1 VectorEngineSerialNumber=32424a32333030363800000000000000 VectorEngineCores=8 VectorEngineMemorySize=50331648 VectorEngineLLCSize=16384 VectorEngineL2Size=256 VectorEngineL1dSize=32 VectorEngineL1iSize=32) "ve2"
66+
OSDev[Co-Processor](VectorEngine) L#2 (VectorEngineModel=1 VectorEngineSerialNumber=32424a32333030363800000000000000 VectorEngineCores=8 VectorEngineMemorySize=50331648 VectorEngineLLCSize=16384 VectorEngineL2Size=256 VectorEngineL1dSize=32 VectorEngineL1iSize=32) "ve2"
6767
PCIBridge L#7 (busid=0000:19:14.0 id=10b5:9797 class=0604(PCIBridge) link=15.75GB/s buses=0000:[1e-1e])
6868
PCI L#4 (busid=0000:1e:00.0 id=1bcf:001c class=0b40(Co-Processor) link=15.75GB/s)
69-
Co-Processor(VectorEngine) L#3 (VectorEngineModel=1 VectorEngineSerialNumber=32424a35303030313700000000000000 VectorEngineCores=8 VectorEngineMemorySize=50331648 VectorEngineLLCSize=16384 VectorEngineL2Size=256 VectorEngineL1dSize=32 VectorEngineL1iSize=32) "ve3"
69+
OSDev[Co-Processor](VectorEngine) L#3 (VectorEngineModel=1 VectorEngineSerialNumber=32424a35303030313700000000000000 VectorEngineCores=8 VectorEngineMemorySize=50331648 VectorEngineLLCSize=16384 VectorEngineL2Size=256 VectorEngineL1dSize=32 VectorEngineL1iSize=32) "ve3"
7070
HostBridge L#8 (buses=0000:[3a-41])
7171
PCIBridge L#9 (busid=0000:3a:00.0 id=8086:2030 class=0604(PCIBridge) link=15.75GB/s buses=0000:[3b-41])
7272
PCIBridge L#10 (busid=0000:3b:00.0 id=10b5:9797 class=0604(PCIBridge) link=15.75GB/s buses=0000:[3c-41])
7373
PCIBridge L#11 (busid=0000:3c:04.0 id=10b5:9797 class=0604(PCIBridge) link=15.75GB/s buses=0000:[3d-3d])
7474
PCI L#5 (busid=0000:3d:00.0 id=1bcf:001c class=0b40(Co-Processor) link=15.75GB/s)
75-
Co-Processor(VectorEngine) L#4 (VectorEngineModel=1 VectorEngineSerialNumber=32424a32333030353000000000000000 VectorEngineCores=8 VectorEngineMemorySize=50331648 VectorEngineLLCSize=16384 VectorEngineL2Size=256 VectorEngineL1dSize=32 VectorEngineL1iSize=32) "ve4"
75+
OSDev[Co-Processor](VectorEngine) L#4 (VectorEngineModel=1 VectorEngineSerialNumber=32424a32333030353000000000000000 VectorEngineCores=8 VectorEngineMemorySize=50331648 VectorEngineLLCSize=16384 VectorEngineL2Size=256 VectorEngineL1dSize=32 VectorEngineL1iSize=32) "ve4"
7676
PCIBridge L#12 (busid=0000:3c:08.0 id=10b5:9797 class=0604(PCIBridge) link=15.75GB/s buses=0000:[3e-3e])
7777
PCI L#6 (busid=0000:3e:00.0 id=15b3:1013 class=0207(InfiniBand) link=15.75GB/s)
7878
PCIBridge L#13 (busid=0000:3c:0c.0 id=10b5:9797 class=0604(PCIBridge) link=15.75GB/s buses=0000:[3f-3f])
7979
PCI L#7 (busid=0000:3f:00.0 id=1bcf:001c class=0b40(Co-Processor) link=15.75GB/s)
80-
Co-Processor(VectorEngine) L#5 (VectorEngineModel=1 VectorEngineSerialNumber=32424a34383030353200000000000000 VectorEngineCores=8 VectorEngineMemorySize=50331648 VectorEngineLLCSize=16384 VectorEngineL2Size=256 VectorEngineL1dSize=32 VectorEngineL1iSize=32) "ve5"
80+
OSDev[Co-Processor](VectorEngine) L#5 (VectorEngineModel=1 VectorEngineSerialNumber=32424a34383030353200000000000000 VectorEngineCores=8 VectorEngineMemorySize=50331648 VectorEngineLLCSize=16384 VectorEngineL2Size=256 VectorEngineL1dSize=32 VectorEngineL1iSize=32) "ve5"
8181
PCIBridge L#14 (busid=0000:3c:10.0 id=10b5:9797 class=0604(PCIBridge) link=15.75GB/s buses=0000:[40-40])
8282
PCI L#8 (busid=0000:40:00.0 id=1bcf:001c class=0b40(Co-Processor) link=15.75GB/s)
83-
Co-Processor(VectorEngine) L#6 (VectorEngineModel=1 VectorEngineSerialNumber=32424a34383030343500000000000000 VectorEngineCores=8 VectorEngineMemorySize=50331648 VectorEngineLLCSize=16384 VectorEngineL2Size=256 VectorEngineL1dSize=32 VectorEngineL1iSize=32) "ve6"
83+
OSDev[Co-Processor](VectorEngine) L#6 (VectorEngineModel=1 VectorEngineSerialNumber=32424a34383030343500000000000000 VectorEngineCores=8 VectorEngineMemorySize=50331648 VectorEngineLLCSize=16384 VectorEngineL2Size=256 VectorEngineL1dSize=32 VectorEngineL1iSize=32) "ve6"
8484
PCIBridge L#15 (busid=0000:3c:14.0 id=10b5:9797 class=0604(PCIBridge) link=15.75GB/s buses=0000:[41-41])
8585
PCI L#9 (busid=0000:41:00.0 id=1bcf:001c class=0b40(Co-Processor) link=15.75GB/s)
86-
Co-Processor(VectorEngine) L#7 (VectorEngineModel=1 VectorEngineSerialNumber=32424a34383030343800000000000000 VectorEngineNUMAPartitioned=1 VectorEngineCores=8 VectorEngineMemorySize=50331648 VectorEngineLLCSize=16384 VectorEngineL2Size=256 VectorEngineL1dSize=32 VectorEngineL1iSize=32) "ve7"
86+
OSDev[Co-Processor](VectorEngine) L#7 (VectorEngineModel=1 VectorEngineSerialNumber=32424a34383030343800000000000000 VectorEngineNUMAPartitioned=1 VectorEngineCores=8 VectorEngineMemorySize=50331648 VectorEngineLLCSize=16384 VectorEngineL2Size=256 VectorEngineL1dSize=32 VectorEngineL1iSize=32) "ve7"
8787
HostBridge L#16 (buses=0000:[5d-60])
8888
PCIBridge L#17 (busid=0000:5d:02.0 id=8086:2032 class=0604(PCIBridge) link=7.88GB/s buses=0000:[5e-60])
8989
PCIBridge L#18 (busid=0000:5e:00.0 id=8086:37c0 class=0604(PCIBridge) link=7.88GB/s buses=0000:[5f-60])
9090
PCI L#10 (busid=0000:60:00.0 id=8086:37d2 class=0200(Ethernet) link=0.25GB/s)
91-
Network L#8 (Address=ac:1f:6b:8a:5f:c8) "enp96s0f0"
91+
OSDev[Network] L#8 (Address=ac:1f:6b:8a:5f:c8) "enp96s0f0"
9292
PCI L#11 (busid=0000:60:00.1 id=8086:37d2 class=0200(Ethernet) link=0.25GB/s)
93-
Network L#9 (Address=ac:1f:6b:8a:5f:c9) "enp96s0f1"
93+
OSDev[Network] L#9 (Address=ac:1f:6b:8a:5f:c9) "enp96s0f1"
9494
Package L#1 (P#1 total=47GiB CPUVendor=GenuineIntel CPUFamilyNumber=6 CPUModelNumber=85 CPUModel="Intel(R) Xeon(R) Silver 4108 CPU @ 1.80GHz" CPUStepping=4)
9595
NUMANode L#1 (P#1 local=47GiB total=47GiB)
9696
L3Cache L#1 (P#1 size=11MiB linesize=64 ways=11)

tests/hwloc/linux/40intel64-4n10c+pci-conflicts.console

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -212,7 +212,7 @@ Machine (P#0 total=512GiB)
212212
HostBridge L#0 (buses=0000:[00-01])
213213
PCIBridge L#1 (busid=0000:00:03.0 id=8086:340a class=0604(PCIBridge) buses=0000:[01-01])
214214
PCI L#0 (busid=0000:01:00.0 id=1000:0079 class=0104(RAID))
215-
Storage L#0 (Size=1756495872 SectorSize=512 LinuxDeviceID=8:0) "sda"
215+
OSDev[Storage] L#0 (Size=1756495872 SectorSize=512 LinuxDeviceID=8:0) "sda"
216216
depth 0: 1 Machine (type #0)
217217
depth 1: 3 Package (type #1)
218218
depth 2: 3 L3Cache (type #6)

0 commit comments

Comments
 (0)