Skip to content

Commit

Permalink
obj_type_snprintf: show "OS[type]" or "OSDev[type]" instead of "type"…
Browse files Browse the repository at this point in the history
… 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 <Brice.Goglin@inria.fr>
  • Loading branch information
bgoglin committed Sep 4, 2023
1 parent d0073e6 commit 3b6bc32
Show file tree
Hide file tree
Showing 12 changed files with 119 additions and 77 deletions.
96 changes: 62 additions & 34 deletions hwloc/traversal.c
Expand Up @@ -327,6 +327,37 @@ hwloc__type_match(const char *string,
return NULL;
}

static int
hwloc__osdev_type_sscanf(const char *string, hwloc_obj_osdev_type_t *ostype)
{
if (hwloc__type_match(string, "storage", 4)
|| hwloc__type_match(string, "block", 4)) { /* backward compat with v2.x */
*ostype = HWLOC_OBJ_OSDEV_STORAGE;
return 1;
} else if (hwloc__type_match(string, "memory", 3)) {
*ostype = HWLOC_OBJ_OSDEV_MEMORY;
return 1;
} else if (hwloc__type_match(string, "network", 3)) {
*ostype = HWLOC_OBJ_OSDEV_NETWORK;
return 1;
} else if (hwloc__type_match(string, "ofed", 4)
|| hwloc__type_match(string, "openfabrics", 7)) {
*ostype = HWLOC_OBJ_OSDEV_OPENFABRICS;
return 1;
} else if (hwloc__type_match(string, "dma", 3)) {
*ostype = HWLOC_OBJ_OSDEV_DMA;
return 1;
} else if (hwloc__type_match(string, "gpu", 3)) {
*ostype = HWLOC_OBJ_OSDEV_GPU;
return 1;
} else if (hwloc__type_match(string, "coproc", 5)
|| hwloc__type_match(string, "co-processor", 6)) {
*ostype = HWLOC_OBJ_OSDEV_COPROC;
return 1;
}
return 0;
}

int
hwloc_type_sscanf(const char *string, hwloc_obj_type_t *typep,
union hwloc_obj_attr_u *attrp, size_t attrsize)
Expand All @@ -344,32 +375,20 @@ hwloc_type_sscanf(const char *string, hwloc_obj_type_t *typep,

/* types without a custom depth */

/* osdev subtype first to avoid conflicts coproc/core etc */
if (hwloc__type_match(string, "osdev", 2)) {
if (!hwloc_strncasecmp(string, "osdev[", 6)) {
/* proper "OSDev[type]" */
type = HWLOC_OBJ_OS_DEVICE;
} else if (hwloc__type_match(string, "storage", 4)
|| hwloc__type_match(string, "block", 4)) { /* backward compat with v2.x */
hwloc__osdev_type_sscanf(string+6, &ostype);
} else if (!hwloc_strncasecmp(string, "os[", 3)) {
/* shorter "OS[type]" */
type = HWLOC_OBJ_OS_DEVICE;
ostype = HWLOC_OBJ_OSDEV_STORAGE;
} else if (hwloc__type_match(string, "memory", 3)) {
type = HWLOC_OBJ_OS_DEVICE;
ostype = HWLOC_OBJ_OSDEV_MEMORY;
} else if (hwloc__type_match(string, "network", 3)) {
hwloc__osdev_type_sscanf(string+3, &ostype);
} else if (hwloc__type_match(string, "osdev", 2)) {
/* basic "OSDev" without type */
type = HWLOC_OBJ_OS_DEVICE;
ostype = HWLOC_OBJ_OSDEV_NETWORK;
} else if (hwloc__type_match(string, "openfabrics", 7)) {
type = HWLOC_OBJ_OS_DEVICE;
ostype = HWLOC_OBJ_OSDEV_OPENFABRICS;
} else if (hwloc__type_match(string, "dma", 3)) {
type = HWLOC_OBJ_OS_DEVICE;
ostype = HWLOC_OBJ_OSDEV_DMA;
} else if (hwloc__type_match(string, "gpu", 3)) {
} else if (hwloc__osdev_type_sscanf(string, &ostype)) {
/* ugly osdev type without "osdev" prefix, parsed here to avoid conflicts coproc/core/etc below */
type = HWLOC_OBJ_OS_DEVICE;
ostype = HWLOC_OBJ_OSDEV_GPU;
} else if (hwloc__type_match(string, "coproc", 5)
|| hwloc__type_match(string, "co-processor", 6)) {
type = HWLOC_OBJ_OS_DEVICE;
ostype = HWLOC_OBJ_OSDEV_COPROC;

} else if (hwloc__type_match(string, "machine", 2)) {
type = HWLOC_OBJ_MACHINE;
Expand Down Expand Up @@ -524,6 +543,7 @@ int
hwloc_obj_type_snprintf(char * __hwloc_restrict string, size_t size, hwloc_obj_t obj, unsigned long flags)
{
int longnames = (flags & (HWLOC_OBJ_SNPRINTF_FLAG_OLD_VERBOSE|HWLOC_OBJ_SNPRINTF_FLAG_LONG_NAMES));
int shortnames = (flags & HWLOC_OBJ_SNPRINTF_FLAG_SHORT_NAMES);
hwloc_obj_type_t type = obj->type;
switch (type) {
case HWLOC_OBJ_MISC:
Expand Down Expand Up @@ -558,21 +578,29 @@ hwloc_obj_type_snprintf(char * __hwloc_restrict string, size_t size, hwloc_obj_t
return hwloc_snprintf(string, size, obj->attr->bridge.upstream_type == HWLOC_OBJ_BRIDGE_PCI ? "PCIBridge" : "HostBridge");
case HWLOC_OBJ_PCI_DEVICE:
return hwloc_snprintf(string, size, "PCI");
case HWLOC_OBJ_OS_DEVICE:
case HWLOC_OBJ_OS_DEVICE: {
const char *prefix = shortnames ? "" : longnames ? "OSDev" : "OS";
const char *middle;
switch (obj->attr->osdev.type) {
case HWLOC_OBJ_OSDEV_STORAGE: return hwloc_snprintf(string, size, "Storage");
case HWLOC_OBJ_OSDEV_MEMORY: return hwloc_snprintf(string, size, longnames ? "Memory" : "Mem");
case HWLOC_OBJ_OSDEV_NETWORK: return hwloc_snprintf(string, size, longnames ? "Network" : "Net");
case HWLOC_OBJ_OSDEV_OPENFABRICS: return hwloc_snprintf(string, size, "OpenFabrics");
case HWLOC_OBJ_OSDEV_DMA: return hwloc_snprintf(string, size, "DMA");
case HWLOC_OBJ_OSDEV_GPU: return hwloc_snprintf(string, size, "GPU");
case HWLOC_OBJ_OSDEV_COPROC: return hwloc_snprintf(string, size, longnames ? "Co-Processor" : "CoProc");
case HWLOC_OBJ_OSDEV_STORAGE: middle = "Storage"; break;
case HWLOC_OBJ_OSDEV_MEMORY: middle = longnames ? "Memory" : "Mem"; break;
case HWLOC_OBJ_OSDEV_NETWORK: middle = longnames ? "Network" : "Net"; break;
case HWLOC_OBJ_OSDEV_OPENFABRICS: middle = longnames ? "OpenFabrics" : "OFED"; break;
case HWLOC_OBJ_OSDEV_DMA: middle = "DMA"; break;
case HWLOC_OBJ_OSDEV_GPU: middle = "GPU"; break;
case HWLOC_OBJ_OSDEV_COPROC: middle = longnames ? "Co-Processor" : "CoProc"; break;
default:
if (size > 0)
*string = '\0';
return 0;
middle = NULL;
}
break;
if (middle) {
if (shortnames)
return hwloc_snprintf(string, size, "%s", middle);
else
return hwloc_snprintf(string, size, "%s[%s]", prefix, middle);
} else
return hwloc_snprintf(string, size, "%s", prefix);
}
/* fallthrough */
default:
if (size > 0)
*string = '\0';
Expand Down
19 changes: 15 additions & 4 deletions include/hwloc.h
Expand Up @@ -1066,6 +1066,9 @@ HWLOC_DECLSPEC int hwloc_obj_type_snprintf(char * __hwloc_restrict string, size_
*
* \return the number of characters that were actually written if not truncating,
* or that would have been written (not including the ending \\0).
*
* \note By default the output string is reasonably short without being ambiguous
* so that hwloc_type_sscanf() may parse it back.
*/
HWLOC_DECLSPEC int hwloc_obj_attr_snprintf(char * __hwloc_restrict string, size_t size,
hwloc_obj_t obj, const char * __hwloc_restrict separator,
Expand All @@ -1078,22 +1081,29 @@ enum hwloc_obj_snprintf_flag_e {
*/
HWLOC_OBJ_SNPRINTF_FLAG_LONG_NAMES = 1ULL<<1,

/** \brief Reduce the name even if it may become ambiguous,
* for instance by removing the OS device prefix.
* hwloc_type_sscanf() might not be able to parse it back exactly anymore.
* \hideinitializer
*/
HWLOC_OBJ_SNPRINTF_FLAG_SHORT_NAMES = 1ULL<<2,

/** \brief Display additional attributes such as
* cache associativity, PCI link speed, and total memory.
* \hideinitializer
*/
HWLOC_OBJ_SNPRINTF_FLAG_MORE_ATTRS =1ULL<<2,
HWLOC_OBJ_SNPRINTF_FLAG_MORE_ATTRS =1ULL<<3,

/** \brief Display memory sizes in bytes without units.
* \hideinitializer
*/
HWLOC_OBJ_SNPRINTF_FLAG_NO_UNITS = 1ULL<<3,
HWLOC_OBJ_SNPRINTF_FLAG_NO_UNITS = 1ULL<<4,

/** \brief Display memory sizes in KB, MB, GB, etc
* i.e. divide by 1000 instead of 1024 for KiB, MiB, GiB, etc.
* \hideinitializer
*/
HWLOC_OBJ_SNPRINTF_FLAG_UNITS_1000 = 1ULL<<4,
HWLOC_OBJ_SNPRINTF_FLAG_UNITS_1000 = 1ULL<<5,

/** \brief Backward compatibility with hwloc 2.x verbose mode,
* shows additional attributes,
Expand Down Expand Up @@ -1122,7 +1132,8 @@ enum hwloc_obj_snprintf_flag_e {
* \return 0 if a type was correctly identified, otherwise -1.
*
* \note This function is guaranteed to match any string returned by
* hwloc_obj_type_string() or hwloc_obj_type_snprintf().
* hwloc_obj_type_string() or hwloc_obj_type_snprintf() except if
* ::HWLOC_OBJ_SNPRINTF_FLAG_SHORT_NAMES was given.
*/
HWLOC_DECLSPEC int hwloc_type_sscanf(const char *string,
hwloc_obj_type_t *typep,
Expand Down
1 change: 1 addition & 0 deletions include/hwloc/rename.h
Expand Up @@ -209,6 +209,7 @@ extern "C" {
#define hwloc_obj_attr_snprintf HWLOC_NAME(obj_attr_snprintf )
#define hwloc_obj_snprintf_flag_e HWLOC_NAME(obj_snprintf_flag_e)
#define HWLOC_OBJ_SNPRINTF_FLAG_LONG_NAMES HWLOC_NAME_CAPS(OBJ_SNPRINTF_FLAG_LONG_NAMES)
#define HWLOC_OBJ_SNPRINTF_FLAG_SHORT_NAMES HWLOC_NAME_CAPS(OBJ_SNPRINTF_FLAG_SHORT_NAMES)
#define HWLOC_OBJ_SNPRINTF_FLAG_MORE_ATTRS HWLOC_NAME_CAPS(OBJ_SNPRINTF_FLAG_MORE_ATTRS)
#define HWLOC_OBJ_SNPRINTF_FLAG_NO_UNITS HWLOC_NAME_CAPS(OBJ_SNPRINTF_FLAG_NO_UNITS)
#define HWLOC_OBJ_SNPRINTF_FLAG_UNITS_1000 HWLOC_NAME_CAPS(OBJ_SNPRINTF_FLAG_UNITS_1000)
Expand Down
6 changes: 3 additions & 3 deletions tests/hwloc/linux/2pa-pcidomain32bits.console
Expand Up @@ -8,10 +8,10 @@ Machine (P#0 total=2004MiB DMIProductName="CloudStack KVM Hypervisor" DMIProduct
PU L#0 (P#0)
HostBridge L#0 (buses=0000:[00-00])
PCI L#0 (busid=0000:00:01.1 id=8086:7010 class=0101(IDE) PCISlot=1)
Storage(Removable Media Device) L#0 (Size=1048575 SectorSize=512 LinuxDeviceID=11:0 Model=QEMU_DVD-ROM Revision=1.5.3 SerialNumber=QM00003) "sr0"
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"
PCI L#1 (busid=0000:00:02.0 id=1013:00b8 class=0300(VGA) PCISlot=2)
PCI L#2 (busid=0000:00:03.0 id=1af4:1000 class=0200(Ethernet) PCISlot=3)
Network L#1 (Address=06:7a:4c:00:00:22) "ens3"
OSDev[Network] L#1 (Address=06:7a:4c:00:00:22) "ens3"
Package L#1 (P#1 CPUVendor=GenuineIntel CPUFamilyNumber=6 CPUModelNumber=94 CPUModel="Intel Core Processor (Skylake, IBRS)" CPUStepping=3)
L2Cache L#1 (size=4096KiB linesize=64 ways=16)
L1dCache L#1 (size=32KiB linesize=64 ways=8)
Expand All @@ -20,7 +20,7 @@ Machine (P#0 total=2004MiB DMIProductName="CloudStack KVM Hypervisor" DMIProduct
PU L#1 (P#1)
HostBridge L#1 (buses=10000:[00-00])
PCI L#3 (busid=10000:00:04.0 id=1af4:1001 class=0100(SCSI))
Storage L#2 (Size=20971520 SectorSize=512 LinuxDeviceID=254:0) "vda"
OSDev[Storage] L#2 (Size=20971520 SectorSize=512 LinuxDeviceID=254:0) "vda"
depth 0: 1 Machine (type #0)
depth 1: 2 Package (type #1)
depth 2: 2 L2Cache (type #5)
Expand Down
20 changes: 10 additions & 10 deletions tests/hwloc/linux/32intel64-2p8co2t+8ve.console
Expand Up @@ -57,40 +57,40 @@ Machine (P#0 total=93GiB DMIProductName=SYS-4029GP-TRT2-1-NE010 DMIProductVersio
PCI L#0 (busid=0000:1a:00.0 id=15b3:1013 class=0207(InfiniBand) link=15.75GB/s)
PCIBridge L#4 (busid=0000:19:08.0 id=10b5:9797 class=0604(PCIBridge) link=15.75GB/s buses=0000:[1b-1b])
PCI L#1 (busid=0000:1b:00.0 id=1bcf:001c class=0b40(Co-Processor) link=15.75GB/s)
Co-Processor(VectorEngine) L#0 (VectorEngineModel=1 VectorEngineSerialNumber=32424a32333030343900000000000000 VectorEngineCores=8 VectorEngineMemorySize=50331648 VectorEngineLLCSize=16384 VectorEngineL2Size=256 VectorEngineL1dSize=32 VectorEngineL1iSize=32) "ve0"
OSDev[Co-Processor](VectorEngine) L#0 (VectorEngineModel=1 VectorEngineSerialNumber=32424a32333030343900000000000000 VectorEngineCores=8 VectorEngineMemorySize=50331648 VectorEngineLLCSize=16384 VectorEngineL2Size=256 VectorEngineL1dSize=32 VectorEngineL1iSize=32) "ve0"
PCIBridge L#5 (busid=0000:19:0c.0 id=10b5:9797 class=0604(PCIBridge) link=15.75GB/s buses=0000:[1c-1c])
PCI L#2 (busid=0000:1c:00.0 id=1bcf:001c class=0b40(Co-Processor) link=15.75GB/s)
Co-Processor(VectorEngine) L#1 (VectorEngineModel=1 VectorEngineSerialNumber=32424a35303030313800000000000000 VectorEngineCores=8 VectorEngineMemorySize=50331648 VectorEngineLLCSize=16384 VectorEngineL2Size=256 VectorEngineL1dSize=32 VectorEngineL1iSize=32) "ve1"
OSDev[Co-Processor](VectorEngine) L#1 (VectorEngineModel=1 VectorEngineSerialNumber=32424a35303030313800000000000000 VectorEngineCores=8 VectorEngineMemorySize=50331648 VectorEngineLLCSize=16384 VectorEngineL2Size=256 VectorEngineL1dSize=32 VectorEngineL1iSize=32) "ve1"
PCIBridge L#6 (busid=0000:19:10.0 id=10b5:9797 class=0604(PCIBridge) link=15.75GB/s buses=0000:[1d-1d])
PCI L#3 (busid=0000:1d:00.0 id=1bcf:001c class=0b40(Co-Processor) link=15.75GB/s)
Co-Processor(VectorEngine) L#2 (VectorEngineModel=1 VectorEngineSerialNumber=32424a32333030363800000000000000 VectorEngineCores=8 VectorEngineMemorySize=50331648 VectorEngineLLCSize=16384 VectorEngineL2Size=256 VectorEngineL1dSize=32 VectorEngineL1iSize=32) "ve2"
OSDev[Co-Processor](VectorEngine) L#2 (VectorEngineModel=1 VectorEngineSerialNumber=32424a32333030363800000000000000 VectorEngineCores=8 VectorEngineMemorySize=50331648 VectorEngineLLCSize=16384 VectorEngineL2Size=256 VectorEngineL1dSize=32 VectorEngineL1iSize=32) "ve2"
PCIBridge L#7 (busid=0000:19:14.0 id=10b5:9797 class=0604(PCIBridge) link=15.75GB/s buses=0000:[1e-1e])
PCI L#4 (busid=0000:1e:00.0 id=1bcf:001c class=0b40(Co-Processor) link=15.75GB/s)
Co-Processor(VectorEngine) L#3 (VectorEngineModel=1 VectorEngineSerialNumber=32424a35303030313700000000000000 VectorEngineCores=8 VectorEngineMemorySize=50331648 VectorEngineLLCSize=16384 VectorEngineL2Size=256 VectorEngineL1dSize=32 VectorEngineL1iSize=32) "ve3"
OSDev[Co-Processor](VectorEngine) L#3 (VectorEngineModel=1 VectorEngineSerialNumber=32424a35303030313700000000000000 VectorEngineCores=8 VectorEngineMemorySize=50331648 VectorEngineLLCSize=16384 VectorEngineL2Size=256 VectorEngineL1dSize=32 VectorEngineL1iSize=32) "ve3"
HostBridge L#8 (buses=0000:[3a-41])
PCIBridge L#9 (busid=0000:3a:00.0 id=8086:2030 class=0604(PCIBridge) link=15.75GB/s buses=0000:[3b-41])
PCIBridge L#10 (busid=0000:3b:00.0 id=10b5:9797 class=0604(PCIBridge) link=15.75GB/s buses=0000:[3c-41])
PCIBridge L#11 (busid=0000:3c:04.0 id=10b5:9797 class=0604(PCIBridge) link=15.75GB/s buses=0000:[3d-3d])
PCI L#5 (busid=0000:3d:00.0 id=1bcf:001c class=0b40(Co-Processor) link=15.75GB/s)
Co-Processor(VectorEngine) L#4 (VectorEngineModel=1 VectorEngineSerialNumber=32424a32333030353000000000000000 VectorEngineCores=8 VectorEngineMemorySize=50331648 VectorEngineLLCSize=16384 VectorEngineL2Size=256 VectorEngineL1dSize=32 VectorEngineL1iSize=32) "ve4"
OSDev[Co-Processor](VectorEngine) L#4 (VectorEngineModel=1 VectorEngineSerialNumber=32424a32333030353000000000000000 VectorEngineCores=8 VectorEngineMemorySize=50331648 VectorEngineLLCSize=16384 VectorEngineL2Size=256 VectorEngineL1dSize=32 VectorEngineL1iSize=32) "ve4"
PCIBridge L#12 (busid=0000:3c:08.0 id=10b5:9797 class=0604(PCIBridge) link=15.75GB/s buses=0000:[3e-3e])
PCI L#6 (busid=0000:3e:00.0 id=15b3:1013 class=0207(InfiniBand) link=15.75GB/s)
PCIBridge L#13 (busid=0000:3c:0c.0 id=10b5:9797 class=0604(PCIBridge) link=15.75GB/s buses=0000:[3f-3f])
PCI L#7 (busid=0000:3f:00.0 id=1bcf:001c class=0b40(Co-Processor) link=15.75GB/s)
Co-Processor(VectorEngine) L#5 (VectorEngineModel=1 VectorEngineSerialNumber=32424a34383030353200000000000000 VectorEngineCores=8 VectorEngineMemorySize=50331648 VectorEngineLLCSize=16384 VectorEngineL2Size=256 VectorEngineL1dSize=32 VectorEngineL1iSize=32) "ve5"
OSDev[Co-Processor](VectorEngine) L#5 (VectorEngineModel=1 VectorEngineSerialNumber=32424a34383030353200000000000000 VectorEngineCores=8 VectorEngineMemorySize=50331648 VectorEngineLLCSize=16384 VectorEngineL2Size=256 VectorEngineL1dSize=32 VectorEngineL1iSize=32) "ve5"
PCIBridge L#14 (busid=0000:3c:10.0 id=10b5:9797 class=0604(PCIBridge) link=15.75GB/s buses=0000:[40-40])
PCI L#8 (busid=0000:40:00.0 id=1bcf:001c class=0b40(Co-Processor) link=15.75GB/s)
Co-Processor(VectorEngine) L#6 (VectorEngineModel=1 VectorEngineSerialNumber=32424a34383030343500000000000000 VectorEngineCores=8 VectorEngineMemorySize=50331648 VectorEngineLLCSize=16384 VectorEngineL2Size=256 VectorEngineL1dSize=32 VectorEngineL1iSize=32) "ve6"
OSDev[Co-Processor](VectorEngine) L#6 (VectorEngineModel=1 VectorEngineSerialNumber=32424a34383030343500000000000000 VectorEngineCores=8 VectorEngineMemorySize=50331648 VectorEngineLLCSize=16384 VectorEngineL2Size=256 VectorEngineL1dSize=32 VectorEngineL1iSize=32) "ve6"
PCIBridge L#15 (busid=0000:3c:14.0 id=10b5:9797 class=0604(PCIBridge) link=15.75GB/s buses=0000:[41-41])
PCI L#9 (busid=0000:41:00.0 id=1bcf:001c class=0b40(Co-Processor) link=15.75GB/s)
Co-Processor(VectorEngine) L#7 (VectorEngineModel=1 VectorEngineSerialNumber=32424a34383030343800000000000000 VectorEngineNUMAPartitioned=1 VectorEngineCores=8 VectorEngineMemorySize=50331648 VectorEngineLLCSize=16384 VectorEngineL2Size=256 VectorEngineL1dSize=32 VectorEngineL1iSize=32) "ve7"
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"
HostBridge L#16 (buses=0000:[5d-60])
PCIBridge L#17 (busid=0000:5d:02.0 id=8086:2032 class=0604(PCIBridge) link=7.88GB/s buses=0000:[5e-60])
PCIBridge L#18 (busid=0000:5e:00.0 id=8086:37c0 class=0604(PCIBridge) link=7.88GB/s buses=0000:[5f-60])
PCI L#10 (busid=0000:60:00.0 id=8086:37d2 class=0200(Ethernet) link=0.25GB/s)
Network L#8 (Address=ac:1f:6b:8a:5f:c8) "enp96s0f0"
OSDev[Network] L#8 (Address=ac:1f:6b:8a:5f:c8) "enp96s0f0"
PCI L#11 (busid=0000:60:00.1 id=8086:37d2 class=0200(Ethernet) link=0.25GB/s)
Network L#9 (Address=ac:1f:6b:8a:5f:c9) "enp96s0f1"
OSDev[Network] L#9 (Address=ac:1f:6b:8a:5f:c9) "enp96s0f1"
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)
NUMANode L#1 (P#1 local=47GiB total=47GiB)
L3Cache L#1 (P#1 size=11MiB linesize=64 ways=11)
Expand Down
2 changes: 1 addition & 1 deletion tests/hwloc/linux/40intel64-4n10c+pci-conflicts.console
Expand Up @@ -212,7 +212,7 @@ Machine (P#0 total=512GiB)
HostBridge L#0 (buses=0000:[00-01])
PCIBridge L#1 (busid=0000:00:03.0 id=8086:340a class=0604(PCIBridge) buses=0000:[01-01])
PCI L#0 (busid=0000:01:00.0 id=1000:0079 class=0104(RAID))
Storage L#0 (Size=1756495872 SectorSize=512 LinuxDeviceID=8:0) "sda"
OSDev[Storage] L#0 (Size=1756495872 SectorSize=512 LinuxDeviceID=8:0) "sda"
depth 0: 1 Machine (type #0)
depth 1: 3 Package (type #1)
depth 2: 3 L3Cache (type #6)
Expand Down

0 comments on commit 3b6bc32

Please sign in to comment.