[libvirt] [PATCH] nodeinfo: Add workaround if kernel reports bogous numa topology.

This patch adds a workaround for the cpu topology detection code if the kernel reports incorrect count of numa nodes or any other reason that might result in duplicate core ID's in one socket. If such a situation is detected, the detection code reports the correct number of processors but the topology is mangled: $ virsh nodeinfo CPU model: x86_64 CPU(s): 24 CPU frequency: 2200 MHz CPU socket(s): 1 Core(s) per socket: 24 Thread(s) per core: 1 NUMA cell(s): 1 Memory size: 8047272 KiB This patch also adds test data for such a situation. Reported (and test data provided) by: gcbirzan on #virt@OFTC --- This patch looks huge but it's mostly test data. --- src/nodeinfo.c | 40 +- .../linux-test7/cpu/cpu0/topology/core_id | 1 + .../cpu/cpu0/topology/physical_package_id | 1 + .../linux-test7/cpu/cpu0/topology/thread_siblings | 1 + tests/nodeinfodata/linux-test7/cpu/cpu1/online | 1 + .../linux-test7/cpu/cpu1/topology/core_id | 1 + .../cpu/cpu1/topology/physical_package_id | 1 + .../linux-test7/cpu/cpu1/topology/thread_siblings | 1 + tests/nodeinfodata/linux-test7/cpu/cpu10/online | 1 + .../linux-test7/cpu/cpu10/topology/core_id | 1 + .../cpu/cpu10/topology/physical_package_id | 1 + .../linux-test7/cpu/cpu10/topology/thread_siblings | 1 + tests/nodeinfodata/linux-test7/cpu/cpu11/online | 1 + .../linux-test7/cpu/cpu11/topology/core_id | 1 + .../cpu/cpu11/topology/physical_package_id | 1 + .../linux-test7/cpu/cpu11/topology/thread_siblings | 1 + tests/nodeinfodata/linux-test7/cpu/cpu12/online | 1 + .../linux-test7/cpu/cpu12/topology/core_id | 1 + .../cpu/cpu12/topology/physical_package_id | 1 + .../linux-test7/cpu/cpu12/topology/thread_siblings | 1 + tests/nodeinfodata/linux-test7/cpu/cpu13/online | 1 + .../linux-test7/cpu/cpu13/topology/core_id | 1 + .../cpu/cpu13/topology/physical_package_id | 1 + .../linux-test7/cpu/cpu13/topology/thread_siblings | 1 + tests/nodeinfodata/linux-test7/cpu/cpu14/online | 1 + .../linux-test7/cpu/cpu14/topology/core_id | 1 + .../cpu/cpu14/topology/physical_package_id | 1 + .../linux-test7/cpu/cpu14/topology/thread_siblings | 1 + tests/nodeinfodata/linux-test7/cpu/cpu15/online | 1 + .../linux-test7/cpu/cpu15/topology/core_id | 1 + .../cpu/cpu15/topology/physical_package_id | 1 + .../linux-test7/cpu/cpu15/topology/thread_siblings | 1 + tests/nodeinfodata/linux-test7/cpu/cpu16/online | 1 + .../linux-test7/cpu/cpu16/topology/core_id | 1 + .../cpu/cpu16/topology/physical_package_id | 1 + .../linux-test7/cpu/cpu16/topology/thread_siblings | 1 + tests/nodeinfodata/linux-test7/cpu/cpu17/online | 1 + .../linux-test7/cpu/cpu17/topology/core_id | 1 + .../cpu/cpu17/topology/physical_package_id | 1 + .../linux-test7/cpu/cpu17/topology/thread_siblings | 1 + tests/nodeinfodata/linux-test7/cpu/cpu18/online | 1 + .../linux-test7/cpu/cpu18/topology/core_id | 1 + .../cpu/cpu18/topology/physical_package_id | 1 + .../linux-test7/cpu/cpu18/topology/thread_siblings | 1 + tests/nodeinfodata/linux-test7/cpu/cpu19/online | 1 + .../linux-test7/cpu/cpu19/topology/core_id | 1 + .../cpu/cpu19/topology/physical_package_id | 1 + .../linux-test7/cpu/cpu19/topology/thread_siblings | 1 + tests/nodeinfodata/linux-test7/cpu/cpu2/online | 1 + .../linux-test7/cpu/cpu2/topology/core_id | 1 + .../cpu/cpu2/topology/physical_package_id | 1 + .../linux-test7/cpu/cpu2/topology/thread_siblings | 1 + tests/nodeinfodata/linux-test7/cpu/cpu20/online | 1 + .../linux-test7/cpu/cpu20/topology/core_id | 1 + .../cpu/cpu20/topology/physical_package_id | 1 + .../linux-test7/cpu/cpu20/topology/thread_siblings | 1 + tests/nodeinfodata/linux-test7/cpu/cpu21/online | 1 + .../linux-test7/cpu/cpu21/topology/core_id | 1 + .../cpu/cpu21/topology/physical_package_id | 1 + .../linux-test7/cpu/cpu21/topology/thread_siblings | 1 + tests/nodeinfodata/linux-test7/cpu/cpu22/online | 1 + .../linux-test7/cpu/cpu22/topology/core_id | 1 + .../cpu/cpu22/topology/physical_package_id | 1 + .../linux-test7/cpu/cpu22/topology/thread_siblings | 1 + tests/nodeinfodata/linux-test7/cpu/cpu23/online | 1 + .../linux-test7/cpu/cpu23/topology/core_id | 1 + .../cpu/cpu23/topology/physical_package_id | 1 + .../linux-test7/cpu/cpu23/topology/thread_siblings | 1 + tests/nodeinfodata/linux-test7/cpu/cpu3/online | 1 + .../linux-test7/cpu/cpu3/topology/core_id | 1 + .../cpu/cpu3/topology/physical_package_id | 1 + .../linux-test7/cpu/cpu3/topology/thread_siblings | 1 + tests/nodeinfodata/linux-test7/cpu/cpu4/online | 1 + .../linux-test7/cpu/cpu4/topology/core_id | 1 + .../cpu/cpu4/topology/physical_package_id | 1 + .../linux-test7/cpu/cpu4/topology/thread_siblings | 1 + tests/nodeinfodata/linux-test7/cpu/cpu5/online | 1 + .../linux-test7/cpu/cpu5/topology/core_id | 1 + .../cpu/cpu5/topology/physical_package_id | 1 + .../linux-test7/cpu/cpu5/topology/thread_siblings | 1 + tests/nodeinfodata/linux-test7/cpu/cpu6/online | 1 + .../linux-test7/cpu/cpu6/topology/core_id | 1 + .../cpu/cpu6/topology/physical_package_id | 1 + .../linux-test7/cpu/cpu6/topology/thread_siblings | 1 + tests/nodeinfodata/linux-test7/cpu/cpu7/online | 1 + .../linux-test7/cpu/cpu7/topology/core_id | 1 + .../cpu/cpu7/topology/physical_package_id | 1 + .../linux-test7/cpu/cpu7/topology/thread_siblings | 1 + tests/nodeinfodata/linux-test7/cpu/cpu8/online | 1 + .../linux-test7/cpu/cpu8/topology/core_id | 1 + .../cpu/cpu8/topology/physical_package_id | 1 + .../linux-test7/cpu/cpu8/topology/thread_siblings | 1 + tests/nodeinfodata/linux-test7/cpu/cpu9/online | 1 + .../linux-test7/cpu/cpu9/topology/core_id | 1 + .../cpu/cpu9/topology/physical_package_id | 1 + .../linux-test7/cpu/cpu9/topology/thread_siblings | 1 + tests/nodeinfodata/linux-test7/node/node0/cpu0 | 1 + tests/nodeinfodata/linux-test7/node/node0/cpu1 | 1 + tests/nodeinfodata/linux-test7/node/node0/cpu10 | 1 + tests/nodeinfodata/linux-test7/node/node0/cpu11 | 1 + tests/nodeinfodata/linux-test7/node/node0/cpu12 | 1 + tests/nodeinfodata/linux-test7/node/node0/cpu13 | 1 + tests/nodeinfodata/linux-test7/node/node0/cpu14 | 1 + tests/nodeinfodata/linux-test7/node/node0/cpu15 | 1 + tests/nodeinfodata/linux-test7/node/node0/cpu16 | 1 + tests/nodeinfodata/linux-test7/node/node0/cpu17 | 1 + tests/nodeinfodata/linux-test7/node/node0/cpu18 | 1 + tests/nodeinfodata/linux-test7/node/node0/cpu19 | 1 + tests/nodeinfodata/linux-test7/node/node0/cpu2 | 1 + tests/nodeinfodata/linux-test7/node/node0/cpu20 | 1 + tests/nodeinfodata/linux-test7/node/node0/cpu21 | 1 + tests/nodeinfodata/linux-test7/node/node0/cpu22 | 1 + tests/nodeinfodata/linux-test7/node/node0/cpu23 | 1 + tests/nodeinfodata/linux-test7/node/node0/cpu3 | 1 + tests/nodeinfodata/linux-test7/node/node0/cpu4 | 1 + tests/nodeinfodata/linux-test7/node/node0/cpu5 | 1 + tests/nodeinfodata/linux-test7/node/node0/cpu6 | 1 + tests/nodeinfodata/linux-test7/node/node0/cpu7 | 1 + tests/nodeinfodata/linux-test7/node/node0/cpu8 | 1 + tests/nodeinfodata/linux-test7/node/node0/cpu9 | 1 + tests/nodeinfodata/linux-test7/node/node0/meminfo | 29 + tests/nodeinfodata/linux-test7/node/online | 1 + tests/nodeinfodata/linux-test7/node/possible | 1 + tests/nodeinfodata/linux-x86-test7.cpuinfo | 648 +++++++++++++++++++++ tests/nodeinfodata/linux-x86-test7.expected | 1 + tests/nodeinfotest.c | 1 + 126 files changed, 833 insertions(+), 7 deletions(-) create mode 100644 tests/nodeinfodata/linux-test7/cpu/cpu0/topology/core_id create mode 100644 tests/nodeinfodata/linux-test7/cpu/cpu0/topology/physical_package_id create mode 100644 tests/nodeinfodata/linux-test7/cpu/cpu0/topology/thread_siblings create mode 100644 tests/nodeinfodata/linux-test7/cpu/cpu1/online create mode 100644 tests/nodeinfodata/linux-test7/cpu/cpu1/topology/core_id create mode 100644 tests/nodeinfodata/linux-test7/cpu/cpu1/topology/physical_package_id create mode 100644 tests/nodeinfodata/linux-test7/cpu/cpu1/topology/thread_siblings create mode 100644 tests/nodeinfodata/linux-test7/cpu/cpu10/online create mode 100644 tests/nodeinfodata/linux-test7/cpu/cpu10/topology/core_id create mode 100644 tests/nodeinfodata/linux-test7/cpu/cpu10/topology/physical_package_id create mode 100644 tests/nodeinfodata/linux-test7/cpu/cpu10/topology/thread_siblings create mode 100644 tests/nodeinfodata/linux-test7/cpu/cpu11/online create mode 100644 tests/nodeinfodata/linux-test7/cpu/cpu11/topology/core_id create mode 100644 tests/nodeinfodata/linux-test7/cpu/cpu11/topology/physical_package_id create mode 100644 tests/nodeinfodata/linux-test7/cpu/cpu11/topology/thread_siblings create mode 100644 tests/nodeinfodata/linux-test7/cpu/cpu12/online create mode 100644 tests/nodeinfodata/linux-test7/cpu/cpu12/topology/core_id create mode 100644 tests/nodeinfodata/linux-test7/cpu/cpu12/topology/physical_package_id create mode 100644 tests/nodeinfodata/linux-test7/cpu/cpu12/topology/thread_siblings create mode 100644 tests/nodeinfodata/linux-test7/cpu/cpu13/online create mode 100644 tests/nodeinfodata/linux-test7/cpu/cpu13/topology/core_id create mode 100644 tests/nodeinfodata/linux-test7/cpu/cpu13/topology/physical_package_id create mode 100644 tests/nodeinfodata/linux-test7/cpu/cpu13/topology/thread_siblings create mode 100644 tests/nodeinfodata/linux-test7/cpu/cpu14/online create mode 100644 tests/nodeinfodata/linux-test7/cpu/cpu14/topology/core_id create mode 100644 tests/nodeinfodata/linux-test7/cpu/cpu14/topology/physical_package_id create mode 100644 tests/nodeinfodata/linux-test7/cpu/cpu14/topology/thread_siblings create mode 100644 tests/nodeinfodata/linux-test7/cpu/cpu15/online create mode 100644 tests/nodeinfodata/linux-test7/cpu/cpu15/topology/core_id create mode 100644 tests/nodeinfodata/linux-test7/cpu/cpu15/topology/physical_package_id create mode 100644 tests/nodeinfodata/linux-test7/cpu/cpu15/topology/thread_siblings create mode 100644 tests/nodeinfodata/linux-test7/cpu/cpu16/online create mode 100644 tests/nodeinfodata/linux-test7/cpu/cpu16/topology/core_id create mode 100644 tests/nodeinfodata/linux-test7/cpu/cpu16/topology/physical_package_id create mode 100644 tests/nodeinfodata/linux-test7/cpu/cpu16/topology/thread_siblings create mode 100644 tests/nodeinfodata/linux-test7/cpu/cpu17/online create mode 100644 tests/nodeinfodata/linux-test7/cpu/cpu17/topology/core_id create mode 100644 tests/nodeinfodata/linux-test7/cpu/cpu17/topology/physical_package_id create mode 100644 tests/nodeinfodata/linux-test7/cpu/cpu17/topology/thread_siblings create mode 100644 tests/nodeinfodata/linux-test7/cpu/cpu18/online create mode 100644 tests/nodeinfodata/linux-test7/cpu/cpu18/topology/core_id create mode 100644 tests/nodeinfodata/linux-test7/cpu/cpu18/topology/physical_package_id create mode 100644 tests/nodeinfodata/linux-test7/cpu/cpu18/topology/thread_siblings create mode 100644 tests/nodeinfodata/linux-test7/cpu/cpu19/online create mode 100644 tests/nodeinfodata/linux-test7/cpu/cpu19/topology/core_id create mode 100644 tests/nodeinfodata/linux-test7/cpu/cpu19/topology/physical_package_id create mode 100644 tests/nodeinfodata/linux-test7/cpu/cpu19/topology/thread_siblings create mode 100644 tests/nodeinfodata/linux-test7/cpu/cpu2/online create mode 100644 tests/nodeinfodata/linux-test7/cpu/cpu2/topology/core_id create mode 100644 tests/nodeinfodata/linux-test7/cpu/cpu2/topology/physical_package_id create mode 100644 tests/nodeinfodata/linux-test7/cpu/cpu2/topology/thread_siblings create mode 100644 tests/nodeinfodata/linux-test7/cpu/cpu20/online create mode 100644 tests/nodeinfodata/linux-test7/cpu/cpu20/topology/core_id create mode 100644 tests/nodeinfodata/linux-test7/cpu/cpu20/topology/physical_package_id create mode 100644 tests/nodeinfodata/linux-test7/cpu/cpu20/topology/thread_siblings create mode 100644 tests/nodeinfodata/linux-test7/cpu/cpu21/online create mode 100644 tests/nodeinfodata/linux-test7/cpu/cpu21/topology/core_id create mode 100644 tests/nodeinfodata/linux-test7/cpu/cpu21/topology/physical_package_id create mode 100644 tests/nodeinfodata/linux-test7/cpu/cpu21/topology/thread_siblings create mode 100644 tests/nodeinfodata/linux-test7/cpu/cpu22/online create mode 100644 tests/nodeinfodata/linux-test7/cpu/cpu22/topology/core_id create mode 100644 tests/nodeinfodata/linux-test7/cpu/cpu22/topology/physical_package_id create mode 100644 tests/nodeinfodata/linux-test7/cpu/cpu22/topology/thread_siblings create mode 100644 tests/nodeinfodata/linux-test7/cpu/cpu23/online create mode 100644 tests/nodeinfodata/linux-test7/cpu/cpu23/topology/core_id create mode 100644 tests/nodeinfodata/linux-test7/cpu/cpu23/topology/physical_package_id create mode 100644 tests/nodeinfodata/linux-test7/cpu/cpu23/topology/thread_siblings create mode 100644 tests/nodeinfodata/linux-test7/cpu/cpu3/online create mode 100644 tests/nodeinfodata/linux-test7/cpu/cpu3/topology/core_id create mode 100644 tests/nodeinfodata/linux-test7/cpu/cpu3/topology/physical_package_id create mode 100644 tests/nodeinfodata/linux-test7/cpu/cpu3/topology/thread_siblings create mode 100644 tests/nodeinfodata/linux-test7/cpu/cpu4/online create mode 100644 tests/nodeinfodata/linux-test7/cpu/cpu4/topology/core_id create mode 100644 tests/nodeinfodata/linux-test7/cpu/cpu4/topology/physical_package_id create mode 100644 tests/nodeinfodata/linux-test7/cpu/cpu4/topology/thread_siblings create mode 100644 tests/nodeinfodata/linux-test7/cpu/cpu5/online create mode 100644 tests/nodeinfodata/linux-test7/cpu/cpu5/topology/core_id create mode 100644 tests/nodeinfodata/linux-test7/cpu/cpu5/topology/physical_package_id create mode 100644 tests/nodeinfodata/linux-test7/cpu/cpu5/topology/thread_siblings create mode 100644 tests/nodeinfodata/linux-test7/cpu/cpu6/online create mode 100644 tests/nodeinfodata/linux-test7/cpu/cpu6/topology/core_id create mode 100644 tests/nodeinfodata/linux-test7/cpu/cpu6/topology/physical_package_id create mode 100644 tests/nodeinfodata/linux-test7/cpu/cpu6/topology/thread_siblings create mode 100644 tests/nodeinfodata/linux-test7/cpu/cpu7/online create mode 100644 tests/nodeinfodata/linux-test7/cpu/cpu7/topology/core_id create mode 100644 tests/nodeinfodata/linux-test7/cpu/cpu7/topology/physical_package_id create mode 100644 tests/nodeinfodata/linux-test7/cpu/cpu7/topology/thread_siblings create mode 100644 tests/nodeinfodata/linux-test7/cpu/cpu8/online create mode 100644 tests/nodeinfodata/linux-test7/cpu/cpu8/topology/core_id create mode 100644 tests/nodeinfodata/linux-test7/cpu/cpu8/topology/physical_package_id create mode 100644 tests/nodeinfodata/linux-test7/cpu/cpu8/topology/thread_siblings create mode 100644 tests/nodeinfodata/linux-test7/cpu/cpu9/online create mode 100644 tests/nodeinfodata/linux-test7/cpu/cpu9/topology/core_id create mode 100644 tests/nodeinfodata/linux-test7/cpu/cpu9/topology/physical_package_id create mode 100644 tests/nodeinfodata/linux-test7/cpu/cpu9/topology/thread_siblings create mode 120000 tests/nodeinfodata/linux-test7/node/node0/cpu0 create mode 120000 tests/nodeinfodata/linux-test7/node/node0/cpu1 create mode 120000 tests/nodeinfodata/linux-test7/node/node0/cpu10 create mode 120000 tests/nodeinfodata/linux-test7/node/node0/cpu11 create mode 120000 tests/nodeinfodata/linux-test7/node/node0/cpu12 create mode 120000 tests/nodeinfodata/linux-test7/node/node0/cpu13 create mode 120000 tests/nodeinfodata/linux-test7/node/node0/cpu14 create mode 120000 tests/nodeinfodata/linux-test7/node/node0/cpu15 create mode 120000 tests/nodeinfodata/linux-test7/node/node0/cpu16 create mode 120000 tests/nodeinfodata/linux-test7/node/node0/cpu17 create mode 120000 tests/nodeinfodata/linux-test7/node/node0/cpu18 create mode 120000 tests/nodeinfodata/linux-test7/node/node0/cpu19 create mode 120000 tests/nodeinfodata/linux-test7/node/node0/cpu2 create mode 120000 tests/nodeinfodata/linux-test7/node/node0/cpu20 create mode 120000 tests/nodeinfodata/linux-test7/node/node0/cpu21 create mode 120000 tests/nodeinfodata/linux-test7/node/node0/cpu22 create mode 120000 tests/nodeinfodata/linux-test7/node/node0/cpu23 create mode 120000 tests/nodeinfodata/linux-test7/node/node0/cpu3 create mode 120000 tests/nodeinfodata/linux-test7/node/node0/cpu4 create mode 120000 tests/nodeinfodata/linux-test7/node/node0/cpu5 create mode 120000 tests/nodeinfodata/linux-test7/node/node0/cpu6 create mode 120000 tests/nodeinfodata/linux-test7/node/node0/cpu7 create mode 120000 tests/nodeinfodata/linux-test7/node/node0/cpu8 create mode 120000 tests/nodeinfodata/linux-test7/node/node0/cpu9 create mode 100644 tests/nodeinfodata/linux-test7/node/node0/meminfo create mode 100644 tests/nodeinfodata/linux-test7/node/online create mode 100644 tests/nodeinfodata/linux-test7/node/possible create mode 100644 tests/nodeinfodata/linux-x86-test7.cpuinfo create mode 100644 tests/nodeinfodata/linux-x86-test7.expected diff --git a/src/nodeinfo.c b/src/nodeinfo.c index 8f96b8b..840910d 100644 --- a/src/nodeinfo.c +++ b/src/nodeinfo.c @@ -200,7 +200,9 @@ CPU_COUNT(cpu_set_t *set) # endif /* !CPU_COUNT */ /* parses a node entry, returning number of processors in the node and - * filling arguments */ + * filling arguments. + * Returns -1 on error, -2 if kernel reports invalid numa topology and number + * of processors in the node otherwise */ static int virNodeParseNode(const char *node, int *sockets, int *cores, int *threads) ATTRIBUTE_NONNULL(1) ATTRIBUTE_NONNULL(2) @@ -219,6 +221,7 @@ virNodeParseNode(const char *node, int *sockets, int *cores, int *threads) int siblings; unsigned int cpu; int online; + bool bad_topology = false; *threads = 0; *cores = 0; @@ -300,11 +303,14 @@ virNodeParseNode(const char *node, int *sockets, int *cores, int *threads) core = virNodeGetCpuValue(node, cpu, "topology/core_id", false); # endif - CPU_SET(core, &core_maps[sock]); - if (!(siblings = virNodeCountThreadSiblings(node, cpu))) goto cleanup; + if (CPU_ISSET(core, &core_maps[sock]) && siblings <= 1) + bad_topology = true; + + CPU_SET(core, &core_maps[sock]); + if (siblings > *threads) *threads = siblings; @@ -338,6 +344,18 @@ cleanup: } VIR_FREE(core_maps); + /* WORKAROUND: This is needed if a kernel on a machine doesn't + * report the complete numa topology through sysfs. We will lie about + * the underlying topology just to correctly report the number of processors + */ + if (bad_topology) { + VIR_WARN("Kernel reports bogous numa topology."); + ret = -2; + *cores = processors; + *threads = 1; + *sockets = 1; + } + return ret; } @@ -470,8 +488,12 @@ int linuxNodeInfoCPUPopulate(FILE *cpuinfo, } if ((cpus = virNodeParseNode(sysfs_cpudir, &socks, - &cores, &threads)) < 0) - goto cleanup; + &cores, &threads)) < 0) { + if (cpus == -2) + goto fallback; + else + goto cleanup; + } VIR_FREE(sysfs_cpudir); @@ -505,8 +527,12 @@ fallback: goto cleanup; } - if ((cpus = virNodeParseNode(sysfs_cpudir, &socks, &cores, &threads)) < 0) - goto cleanup; + if ((cpus = virNodeParseNode(sysfs_cpudir, &socks, &cores, &threads)) < 0) { + if (cpus != -2) + goto cleanup; + + cpus = cores; + } nodeinfo->nodes = 1; nodeinfo->cpus = cpus; diff --git a/tests/nodeinfodata/linux-test7/cpu/cpu0/topology/core_id b/tests/nodeinfodata/linux-test7/cpu/cpu0/topology/core_id new file mode 100644 index 0000000..573541a --- /dev/null +++ b/tests/nodeinfodata/linux-test7/cpu/cpu0/topology/core_id @@ -0,0 +1 @@ +0 diff --git a/tests/nodeinfodata/linux-test7/cpu/cpu0/topology/physical_package_id b/tests/nodeinfodata/linux-test7/cpu/cpu0/topology/physical_package_id new file mode 100644 index 0000000..573541a --- /dev/null +++ b/tests/nodeinfodata/linux-test7/cpu/cpu0/topology/physical_package_id @@ -0,0 +1 @@ +0 diff --git a/tests/nodeinfodata/linux-test7/cpu/cpu0/topology/thread_siblings b/tests/nodeinfodata/linux-test7/cpu/cpu0/topology/thread_siblings new file mode 100644 index 0000000..3dc19f2 --- /dev/null +++ b/tests/nodeinfodata/linux-test7/cpu/cpu0/topology/thread_siblings @@ -0,0 +1 @@ +00000000,00000000,00000000,00000001 diff --git a/tests/nodeinfodata/linux-test7/cpu/cpu1/online b/tests/nodeinfodata/linux-test7/cpu/cpu1/online new file mode 100644 index 0000000..d00491f --- /dev/null +++ b/tests/nodeinfodata/linux-test7/cpu/cpu1/online @@ -0,0 +1 @@ +1 diff --git a/tests/nodeinfodata/linux-test7/cpu/cpu1/topology/core_id b/tests/nodeinfodata/linux-test7/cpu/cpu1/topology/core_id new file mode 100644 index 0000000..d00491f --- /dev/null +++ b/tests/nodeinfodata/linux-test7/cpu/cpu1/topology/core_id @@ -0,0 +1 @@ +1 diff --git a/tests/nodeinfodata/linux-test7/cpu/cpu1/topology/physical_package_id b/tests/nodeinfodata/linux-test7/cpu/cpu1/topology/physical_package_id new file mode 100644 index 0000000..573541a --- /dev/null +++ b/tests/nodeinfodata/linux-test7/cpu/cpu1/topology/physical_package_id @@ -0,0 +1 @@ +0 diff --git a/tests/nodeinfodata/linux-test7/cpu/cpu1/topology/thread_siblings b/tests/nodeinfodata/linux-test7/cpu/cpu1/topology/thread_siblings new file mode 100644 index 0000000..7d4e089 --- /dev/null +++ b/tests/nodeinfodata/linux-test7/cpu/cpu1/topology/thread_siblings @@ -0,0 +1 @@ +00000000,00000000,00000000,00000002 diff --git a/tests/nodeinfodata/linux-test7/cpu/cpu10/online b/tests/nodeinfodata/linux-test7/cpu/cpu10/online new file mode 100644 index 0000000..d00491f --- /dev/null +++ b/tests/nodeinfodata/linux-test7/cpu/cpu10/online @@ -0,0 +1 @@ +1 diff --git a/tests/nodeinfodata/linux-test7/cpu/cpu10/topology/core_id b/tests/nodeinfodata/linux-test7/cpu/cpu10/topology/core_id new file mode 100644 index 0000000..b8626c4 --- /dev/null +++ b/tests/nodeinfodata/linux-test7/cpu/cpu10/topology/core_id @@ -0,0 +1 @@ +4 diff --git a/tests/nodeinfodata/linux-test7/cpu/cpu10/topology/physical_package_id b/tests/nodeinfodata/linux-test7/cpu/cpu10/topology/physical_package_id new file mode 100644 index 0000000..573541a --- /dev/null +++ b/tests/nodeinfodata/linux-test7/cpu/cpu10/topology/physical_package_id @@ -0,0 +1 @@ +0 diff --git a/tests/nodeinfodata/linux-test7/cpu/cpu10/topology/thread_siblings b/tests/nodeinfodata/linux-test7/cpu/cpu10/topology/thread_siblings new file mode 100644 index 0000000..de0e54d --- /dev/null +++ b/tests/nodeinfodata/linux-test7/cpu/cpu10/topology/thread_siblings @@ -0,0 +1 @@ +00000000,00000000,00000000,00000400 diff --git a/tests/nodeinfodata/linux-test7/cpu/cpu11/online b/tests/nodeinfodata/linux-test7/cpu/cpu11/online new file mode 100644 index 0000000..d00491f --- /dev/null +++ b/tests/nodeinfodata/linux-test7/cpu/cpu11/online @@ -0,0 +1 @@ +1 diff --git a/tests/nodeinfodata/linux-test7/cpu/cpu11/topology/core_id b/tests/nodeinfodata/linux-test7/cpu/cpu11/topology/core_id new file mode 100644 index 0000000..7ed6ff8 --- /dev/null +++ b/tests/nodeinfodata/linux-test7/cpu/cpu11/topology/core_id @@ -0,0 +1 @@ +5 diff --git a/tests/nodeinfodata/linux-test7/cpu/cpu11/topology/physical_package_id b/tests/nodeinfodata/linux-test7/cpu/cpu11/topology/physical_package_id new file mode 100644 index 0000000..573541a --- /dev/null +++ b/tests/nodeinfodata/linux-test7/cpu/cpu11/topology/physical_package_id @@ -0,0 +1 @@ +0 diff --git a/tests/nodeinfodata/linux-test7/cpu/cpu11/topology/thread_siblings b/tests/nodeinfodata/linux-test7/cpu/cpu11/topology/thread_siblings new file mode 100644 index 0000000..b1e6e03 --- /dev/null +++ b/tests/nodeinfodata/linux-test7/cpu/cpu11/topology/thread_siblings @@ -0,0 +1 @@ +00000000,00000000,00000000,00000800 diff --git a/tests/nodeinfodata/linux-test7/cpu/cpu12/online b/tests/nodeinfodata/linux-test7/cpu/cpu12/online new file mode 100644 index 0000000..d00491f --- /dev/null +++ b/tests/nodeinfodata/linux-test7/cpu/cpu12/online @@ -0,0 +1 @@ +1 diff --git a/tests/nodeinfodata/linux-test7/cpu/cpu12/topology/core_id b/tests/nodeinfodata/linux-test7/cpu/cpu12/topology/core_id new file mode 100644 index 0000000..573541a --- /dev/null +++ b/tests/nodeinfodata/linux-test7/cpu/cpu12/topology/core_id @@ -0,0 +1 @@ +0 diff --git a/tests/nodeinfodata/linux-test7/cpu/cpu12/topology/physical_package_id b/tests/nodeinfodata/linux-test7/cpu/cpu12/topology/physical_package_id new file mode 100644 index 0000000..d00491f --- /dev/null +++ b/tests/nodeinfodata/linux-test7/cpu/cpu12/topology/physical_package_id @@ -0,0 +1 @@ +1 diff --git a/tests/nodeinfodata/linux-test7/cpu/cpu12/topology/thread_siblings b/tests/nodeinfodata/linux-test7/cpu/cpu12/topology/thread_siblings new file mode 100644 index 0000000..73f3cf7 --- /dev/null +++ b/tests/nodeinfodata/linux-test7/cpu/cpu12/topology/thread_siblings @@ -0,0 +1 @@ +00000000,00000000,00000000,00001000 diff --git a/tests/nodeinfodata/linux-test7/cpu/cpu13/online b/tests/nodeinfodata/linux-test7/cpu/cpu13/online new file mode 100644 index 0000000..d00491f --- /dev/null +++ b/tests/nodeinfodata/linux-test7/cpu/cpu13/online @@ -0,0 +1 @@ +1 diff --git a/tests/nodeinfodata/linux-test7/cpu/cpu13/topology/core_id b/tests/nodeinfodata/linux-test7/cpu/cpu13/topology/core_id new file mode 100644 index 0000000..d00491f --- /dev/null +++ b/tests/nodeinfodata/linux-test7/cpu/cpu13/topology/core_id @@ -0,0 +1 @@ +1 diff --git a/tests/nodeinfodata/linux-test7/cpu/cpu13/topology/physical_package_id b/tests/nodeinfodata/linux-test7/cpu/cpu13/topology/physical_package_id new file mode 100644 index 0000000..d00491f --- /dev/null +++ b/tests/nodeinfodata/linux-test7/cpu/cpu13/topology/physical_package_id @@ -0,0 +1 @@ +1 diff --git a/tests/nodeinfodata/linux-test7/cpu/cpu13/topology/thread_siblings b/tests/nodeinfodata/linux-test7/cpu/cpu13/topology/thread_siblings new file mode 100644 index 0000000..b60939a --- /dev/null +++ b/tests/nodeinfodata/linux-test7/cpu/cpu13/topology/thread_siblings @@ -0,0 +1 @@ +00000000,00000000,00000000,00002000 diff --git a/tests/nodeinfodata/linux-test7/cpu/cpu14/online b/tests/nodeinfodata/linux-test7/cpu/cpu14/online new file mode 100644 index 0000000..d00491f --- /dev/null +++ b/tests/nodeinfodata/linux-test7/cpu/cpu14/online @@ -0,0 +1 @@ +1 diff --git a/tests/nodeinfodata/linux-test7/cpu/cpu14/topology/core_id b/tests/nodeinfodata/linux-test7/cpu/cpu14/topology/core_id new file mode 100644 index 0000000..0cfbf08 --- /dev/null +++ b/tests/nodeinfodata/linux-test7/cpu/cpu14/topology/core_id @@ -0,0 +1 @@ +2 diff --git a/tests/nodeinfodata/linux-test7/cpu/cpu14/topology/physical_package_id b/tests/nodeinfodata/linux-test7/cpu/cpu14/topology/physical_package_id new file mode 100644 index 0000000..d00491f --- /dev/null +++ b/tests/nodeinfodata/linux-test7/cpu/cpu14/topology/physical_package_id @@ -0,0 +1 @@ +1 diff --git a/tests/nodeinfodata/linux-test7/cpu/cpu14/topology/thread_siblings b/tests/nodeinfodata/linux-test7/cpu/cpu14/topology/thread_siblings new file mode 100644 index 0000000..0159580 --- /dev/null +++ b/tests/nodeinfodata/linux-test7/cpu/cpu14/topology/thread_siblings @@ -0,0 +1 @@ +00000000,00000000,00000000,00004000 diff --git a/tests/nodeinfodata/linux-test7/cpu/cpu15/online b/tests/nodeinfodata/linux-test7/cpu/cpu15/online new file mode 100644 index 0000000..d00491f --- /dev/null +++ b/tests/nodeinfodata/linux-test7/cpu/cpu15/online @@ -0,0 +1 @@ +1 diff --git a/tests/nodeinfodata/linux-test7/cpu/cpu15/topology/core_id b/tests/nodeinfodata/linux-test7/cpu/cpu15/topology/core_id new file mode 100644 index 0000000..00750ed --- /dev/null +++ b/tests/nodeinfodata/linux-test7/cpu/cpu15/topology/core_id @@ -0,0 +1 @@ +3 diff --git a/tests/nodeinfodata/linux-test7/cpu/cpu15/topology/physical_package_id b/tests/nodeinfodata/linux-test7/cpu/cpu15/topology/physical_package_id new file mode 100644 index 0000000..d00491f --- /dev/null +++ b/tests/nodeinfodata/linux-test7/cpu/cpu15/topology/physical_package_id @@ -0,0 +1 @@ +1 diff --git a/tests/nodeinfodata/linux-test7/cpu/cpu15/topology/thread_siblings b/tests/nodeinfodata/linux-test7/cpu/cpu15/topology/thread_siblings new file mode 100644 index 0000000..c5e4575 --- /dev/null +++ b/tests/nodeinfodata/linux-test7/cpu/cpu15/topology/thread_siblings @@ -0,0 +1 @@ +00000000,00000000,00000000,00008000 diff --git a/tests/nodeinfodata/linux-test7/cpu/cpu16/online b/tests/nodeinfodata/linux-test7/cpu/cpu16/online new file mode 100644 index 0000000..d00491f --- /dev/null +++ b/tests/nodeinfodata/linux-test7/cpu/cpu16/online @@ -0,0 +1 @@ +1 diff --git a/tests/nodeinfodata/linux-test7/cpu/cpu16/topology/core_id b/tests/nodeinfodata/linux-test7/cpu/cpu16/topology/core_id new file mode 100644 index 0000000..b8626c4 --- /dev/null +++ b/tests/nodeinfodata/linux-test7/cpu/cpu16/topology/core_id @@ -0,0 +1 @@ +4 diff --git a/tests/nodeinfodata/linux-test7/cpu/cpu16/topology/physical_package_id b/tests/nodeinfodata/linux-test7/cpu/cpu16/topology/physical_package_id new file mode 100644 index 0000000..d00491f --- /dev/null +++ b/tests/nodeinfodata/linux-test7/cpu/cpu16/topology/physical_package_id @@ -0,0 +1 @@ +1 diff --git a/tests/nodeinfodata/linux-test7/cpu/cpu16/topology/thread_siblings b/tests/nodeinfodata/linux-test7/cpu/cpu16/topology/thread_siblings new file mode 100644 index 0000000..a5a8466 --- /dev/null +++ b/tests/nodeinfodata/linux-test7/cpu/cpu16/topology/thread_siblings @@ -0,0 +1 @@ +00000000,00000000,00000000,00010000 diff --git a/tests/nodeinfodata/linux-test7/cpu/cpu17/online b/tests/nodeinfodata/linux-test7/cpu/cpu17/online new file mode 100644 index 0000000..d00491f --- /dev/null +++ b/tests/nodeinfodata/linux-test7/cpu/cpu17/online @@ -0,0 +1 @@ +1 diff --git a/tests/nodeinfodata/linux-test7/cpu/cpu17/topology/core_id b/tests/nodeinfodata/linux-test7/cpu/cpu17/topology/core_id new file mode 100644 index 0000000..7ed6ff8 --- /dev/null +++ b/tests/nodeinfodata/linux-test7/cpu/cpu17/topology/core_id @@ -0,0 +1 @@ +5 diff --git a/tests/nodeinfodata/linux-test7/cpu/cpu17/topology/physical_package_id b/tests/nodeinfodata/linux-test7/cpu/cpu17/topology/physical_package_id new file mode 100644 index 0000000..d00491f --- /dev/null +++ b/tests/nodeinfodata/linux-test7/cpu/cpu17/topology/physical_package_id @@ -0,0 +1 @@ +1 diff --git a/tests/nodeinfodata/linux-test7/cpu/cpu17/topology/thread_siblings b/tests/nodeinfodata/linux-test7/cpu/cpu17/topology/thread_siblings new file mode 100644 index 0000000..b563c50 --- /dev/null +++ b/tests/nodeinfodata/linux-test7/cpu/cpu17/topology/thread_siblings @@ -0,0 +1 @@ +00000000,00000000,00000000,00020000 diff --git a/tests/nodeinfodata/linux-test7/cpu/cpu18/online b/tests/nodeinfodata/linux-test7/cpu/cpu18/online new file mode 100644 index 0000000..d00491f --- /dev/null +++ b/tests/nodeinfodata/linux-test7/cpu/cpu18/online @@ -0,0 +1 @@ +1 diff --git a/tests/nodeinfodata/linux-test7/cpu/cpu18/topology/core_id b/tests/nodeinfodata/linux-test7/cpu/cpu18/topology/core_id new file mode 100644 index 0000000..573541a --- /dev/null +++ b/tests/nodeinfodata/linux-test7/cpu/cpu18/topology/core_id @@ -0,0 +1 @@ +0 diff --git a/tests/nodeinfodata/linux-test7/cpu/cpu18/topology/physical_package_id b/tests/nodeinfodata/linux-test7/cpu/cpu18/topology/physical_package_id new file mode 100644 index 0000000..d00491f --- /dev/null +++ b/tests/nodeinfodata/linux-test7/cpu/cpu18/topology/physical_package_id @@ -0,0 +1 @@ +1 diff --git a/tests/nodeinfodata/linux-test7/cpu/cpu18/topology/thread_siblings b/tests/nodeinfodata/linux-test7/cpu/cpu18/topology/thread_siblings new file mode 100644 index 0000000..5bae96b --- /dev/null +++ b/tests/nodeinfodata/linux-test7/cpu/cpu18/topology/thread_siblings @@ -0,0 +1 @@ +00000000,00000000,00000000,00040000 diff --git a/tests/nodeinfodata/linux-test7/cpu/cpu19/online b/tests/nodeinfodata/linux-test7/cpu/cpu19/online new file mode 100644 index 0000000..d00491f --- /dev/null +++ b/tests/nodeinfodata/linux-test7/cpu/cpu19/online @@ -0,0 +1 @@ +1 diff --git a/tests/nodeinfodata/linux-test7/cpu/cpu19/topology/core_id b/tests/nodeinfodata/linux-test7/cpu/cpu19/topology/core_id new file mode 100644 index 0000000..d00491f --- /dev/null +++ b/tests/nodeinfodata/linux-test7/cpu/cpu19/topology/core_id @@ -0,0 +1 @@ +1 diff --git a/tests/nodeinfodata/linux-test7/cpu/cpu19/topology/physical_package_id b/tests/nodeinfodata/linux-test7/cpu/cpu19/topology/physical_package_id new file mode 100644 index 0000000..d00491f --- /dev/null +++ b/tests/nodeinfodata/linux-test7/cpu/cpu19/topology/physical_package_id @@ -0,0 +1 @@ +1 diff --git a/tests/nodeinfodata/linux-test7/cpu/cpu19/topology/thread_siblings b/tests/nodeinfodata/linux-test7/cpu/cpu19/topology/thread_siblings new file mode 100644 index 0000000..03f1958 --- /dev/null +++ b/tests/nodeinfodata/linux-test7/cpu/cpu19/topology/thread_siblings @@ -0,0 +1 @@ +00000000,00000000,00000000,00080000 diff --git a/tests/nodeinfodata/linux-test7/cpu/cpu2/online b/tests/nodeinfodata/linux-test7/cpu/cpu2/online new file mode 100644 index 0000000..d00491f --- /dev/null +++ b/tests/nodeinfodata/linux-test7/cpu/cpu2/online @@ -0,0 +1 @@ +1 diff --git a/tests/nodeinfodata/linux-test7/cpu/cpu2/topology/core_id b/tests/nodeinfodata/linux-test7/cpu/cpu2/topology/core_id new file mode 100644 index 0000000..0cfbf08 --- /dev/null +++ b/tests/nodeinfodata/linux-test7/cpu/cpu2/topology/core_id @@ -0,0 +1 @@ +2 diff --git a/tests/nodeinfodata/linux-test7/cpu/cpu2/topology/physical_package_id b/tests/nodeinfodata/linux-test7/cpu/cpu2/topology/physical_package_id new file mode 100644 index 0000000..573541a --- /dev/null +++ b/tests/nodeinfodata/linux-test7/cpu/cpu2/topology/physical_package_id @@ -0,0 +1 @@ +0 diff --git a/tests/nodeinfodata/linux-test7/cpu/cpu2/topology/thread_siblings b/tests/nodeinfodata/linux-test7/cpu/cpu2/topology/thread_siblings new file mode 100644 index 0000000..bc1eab3 --- /dev/null +++ b/tests/nodeinfodata/linux-test7/cpu/cpu2/topology/thread_siblings @@ -0,0 +1 @@ +00000000,00000000,00000000,00000004 diff --git a/tests/nodeinfodata/linux-test7/cpu/cpu20/online b/tests/nodeinfodata/linux-test7/cpu/cpu20/online new file mode 100644 index 0000000..d00491f --- /dev/null +++ b/tests/nodeinfodata/linux-test7/cpu/cpu20/online @@ -0,0 +1 @@ +1 diff --git a/tests/nodeinfodata/linux-test7/cpu/cpu20/topology/core_id b/tests/nodeinfodata/linux-test7/cpu/cpu20/topology/core_id new file mode 100644 index 0000000..0cfbf08 --- /dev/null +++ b/tests/nodeinfodata/linux-test7/cpu/cpu20/topology/core_id @@ -0,0 +1 @@ +2 diff --git a/tests/nodeinfodata/linux-test7/cpu/cpu20/topology/physical_package_id b/tests/nodeinfodata/linux-test7/cpu/cpu20/topology/physical_package_id new file mode 100644 index 0000000..d00491f --- /dev/null +++ b/tests/nodeinfodata/linux-test7/cpu/cpu20/topology/physical_package_id @@ -0,0 +1 @@ +1 diff --git a/tests/nodeinfodata/linux-test7/cpu/cpu20/topology/thread_siblings b/tests/nodeinfodata/linux-test7/cpu/cpu20/topology/thread_siblings new file mode 100644 index 0000000..a3242c0 --- /dev/null +++ b/tests/nodeinfodata/linux-test7/cpu/cpu20/topology/thread_siblings @@ -0,0 +1 @@ +00000000,00000000,00000000,00100000 diff --git a/tests/nodeinfodata/linux-test7/cpu/cpu21/online b/tests/nodeinfodata/linux-test7/cpu/cpu21/online new file mode 100644 index 0000000..d00491f --- /dev/null +++ b/tests/nodeinfodata/linux-test7/cpu/cpu21/online @@ -0,0 +1 @@ +1 diff --git a/tests/nodeinfodata/linux-test7/cpu/cpu21/topology/core_id b/tests/nodeinfodata/linux-test7/cpu/cpu21/topology/core_id new file mode 100644 index 0000000..00750ed --- /dev/null +++ b/tests/nodeinfodata/linux-test7/cpu/cpu21/topology/core_id @@ -0,0 +1 @@ +3 diff --git a/tests/nodeinfodata/linux-test7/cpu/cpu21/topology/physical_package_id b/tests/nodeinfodata/linux-test7/cpu/cpu21/topology/physical_package_id new file mode 100644 index 0000000..d00491f --- /dev/null +++ b/tests/nodeinfodata/linux-test7/cpu/cpu21/topology/physical_package_id @@ -0,0 +1 @@ +1 diff --git a/tests/nodeinfodata/linux-test7/cpu/cpu21/topology/thread_siblings b/tests/nodeinfodata/linux-test7/cpu/cpu21/topology/thread_siblings new file mode 100644 index 0000000..fac7d63 --- /dev/null +++ b/tests/nodeinfodata/linux-test7/cpu/cpu21/topology/thread_siblings @@ -0,0 +1 @@ +00000000,00000000,00000000,00200000 diff --git a/tests/nodeinfodata/linux-test7/cpu/cpu22/online b/tests/nodeinfodata/linux-test7/cpu/cpu22/online new file mode 100644 index 0000000..d00491f --- /dev/null +++ b/tests/nodeinfodata/linux-test7/cpu/cpu22/online @@ -0,0 +1 @@ +1 diff --git a/tests/nodeinfodata/linux-test7/cpu/cpu22/topology/core_id b/tests/nodeinfodata/linux-test7/cpu/cpu22/topology/core_id new file mode 100644 index 0000000..b8626c4 --- /dev/null +++ b/tests/nodeinfodata/linux-test7/cpu/cpu22/topology/core_id @@ -0,0 +1 @@ +4 diff --git a/tests/nodeinfodata/linux-test7/cpu/cpu22/topology/physical_package_id b/tests/nodeinfodata/linux-test7/cpu/cpu22/topology/physical_package_id new file mode 100644 index 0000000..d00491f --- /dev/null +++ b/tests/nodeinfodata/linux-test7/cpu/cpu22/topology/physical_package_id @@ -0,0 +1 @@ +1 diff --git a/tests/nodeinfodata/linux-test7/cpu/cpu22/topology/thread_siblings b/tests/nodeinfodata/linux-test7/cpu/cpu22/topology/thread_siblings new file mode 100644 index 0000000..74389e7 --- /dev/null +++ b/tests/nodeinfodata/linux-test7/cpu/cpu22/topology/thread_siblings @@ -0,0 +1 @@ +00000000,00000000,00000000,00400000 diff --git a/tests/nodeinfodata/linux-test7/cpu/cpu23/online b/tests/nodeinfodata/linux-test7/cpu/cpu23/online new file mode 100644 index 0000000..d00491f --- /dev/null +++ b/tests/nodeinfodata/linux-test7/cpu/cpu23/online @@ -0,0 +1 @@ +1 diff --git a/tests/nodeinfodata/linux-test7/cpu/cpu23/topology/core_id b/tests/nodeinfodata/linux-test7/cpu/cpu23/topology/core_id new file mode 100644 index 0000000..7ed6ff8 --- /dev/null +++ b/tests/nodeinfodata/linux-test7/cpu/cpu23/topology/core_id @@ -0,0 +1 @@ +5 diff --git a/tests/nodeinfodata/linux-test7/cpu/cpu23/topology/physical_package_id b/tests/nodeinfodata/linux-test7/cpu/cpu23/topology/physical_package_id new file mode 100644 index 0000000..d00491f --- /dev/null +++ b/tests/nodeinfodata/linux-test7/cpu/cpu23/topology/physical_package_id @@ -0,0 +1 @@ +1 diff --git a/tests/nodeinfodata/linux-test7/cpu/cpu23/topology/thread_siblings b/tests/nodeinfodata/linux-test7/cpu/cpu23/topology/thread_siblings new file mode 100644 index 0000000..6c55473 --- /dev/null +++ b/tests/nodeinfodata/linux-test7/cpu/cpu23/topology/thread_siblings @@ -0,0 +1 @@ +00000000,00000000,00000000,00800000 diff --git a/tests/nodeinfodata/linux-test7/cpu/cpu3/online b/tests/nodeinfodata/linux-test7/cpu/cpu3/online new file mode 100644 index 0000000..d00491f --- /dev/null +++ b/tests/nodeinfodata/linux-test7/cpu/cpu3/online @@ -0,0 +1 @@ +1 diff --git a/tests/nodeinfodata/linux-test7/cpu/cpu3/topology/core_id b/tests/nodeinfodata/linux-test7/cpu/cpu3/topology/core_id new file mode 100644 index 0000000..00750ed --- /dev/null +++ b/tests/nodeinfodata/linux-test7/cpu/cpu3/topology/core_id @@ -0,0 +1 @@ +3 diff --git a/tests/nodeinfodata/linux-test7/cpu/cpu3/topology/physical_package_id b/tests/nodeinfodata/linux-test7/cpu/cpu3/topology/physical_package_id new file mode 100644 index 0000000..573541a --- /dev/null +++ b/tests/nodeinfodata/linux-test7/cpu/cpu3/topology/physical_package_id @@ -0,0 +1 @@ +0 diff --git a/tests/nodeinfodata/linux-test7/cpu/cpu3/topology/thread_siblings b/tests/nodeinfodata/linux-test7/cpu/cpu3/topology/thread_siblings new file mode 100644 index 0000000..13c4744 --- /dev/null +++ b/tests/nodeinfodata/linux-test7/cpu/cpu3/topology/thread_siblings @@ -0,0 +1 @@ +00000000,00000000,00000000,00000008 diff --git a/tests/nodeinfodata/linux-test7/cpu/cpu4/online b/tests/nodeinfodata/linux-test7/cpu/cpu4/online new file mode 100644 index 0000000..d00491f --- /dev/null +++ b/tests/nodeinfodata/linux-test7/cpu/cpu4/online @@ -0,0 +1 @@ +1 diff --git a/tests/nodeinfodata/linux-test7/cpu/cpu4/topology/core_id b/tests/nodeinfodata/linux-test7/cpu/cpu4/topology/core_id new file mode 100644 index 0000000..b8626c4 --- /dev/null +++ b/tests/nodeinfodata/linux-test7/cpu/cpu4/topology/core_id @@ -0,0 +1 @@ +4 diff --git a/tests/nodeinfodata/linux-test7/cpu/cpu4/topology/physical_package_id b/tests/nodeinfodata/linux-test7/cpu/cpu4/topology/physical_package_id new file mode 100644 index 0000000..573541a --- /dev/null +++ b/tests/nodeinfodata/linux-test7/cpu/cpu4/topology/physical_package_id @@ -0,0 +1 @@ +0 diff --git a/tests/nodeinfodata/linux-test7/cpu/cpu4/topology/thread_siblings b/tests/nodeinfodata/linux-test7/cpu/cpu4/topology/thread_siblings new file mode 100644 index 0000000..5ce9ab8 --- /dev/null +++ b/tests/nodeinfodata/linux-test7/cpu/cpu4/topology/thread_siblings @@ -0,0 +1 @@ +00000000,00000000,00000000,00000010 diff --git a/tests/nodeinfodata/linux-test7/cpu/cpu5/online b/tests/nodeinfodata/linux-test7/cpu/cpu5/online new file mode 100644 index 0000000..d00491f --- /dev/null +++ b/tests/nodeinfodata/linux-test7/cpu/cpu5/online @@ -0,0 +1 @@ +1 diff --git a/tests/nodeinfodata/linux-test7/cpu/cpu5/topology/core_id b/tests/nodeinfodata/linux-test7/cpu/cpu5/topology/core_id new file mode 100644 index 0000000..7ed6ff8 --- /dev/null +++ b/tests/nodeinfodata/linux-test7/cpu/cpu5/topology/core_id @@ -0,0 +1 @@ +5 diff --git a/tests/nodeinfodata/linux-test7/cpu/cpu5/topology/physical_package_id b/tests/nodeinfodata/linux-test7/cpu/cpu5/topology/physical_package_id new file mode 100644 index 0000000..573541a --- /dev/null +++ b/tests/nodeinfodata/linux-test7/cpu/cpu5/topology/physical_package_id @@ -0,0 +1 @@ +0 diff --git a/tests/nodeinfodata/linux-test7/cpu/cpu5/topology/thread_siblings b/tests/nodeinfodata/linux-test7/cpu/cpu5/topology/thread_siblings new file mode 100644 index 0000000..ae752a0 --- /dev/null +++ b/tests/nodeinfodata/linux-test7/cpu/cpu5/topology/thread_siblings @@ -0,0 +1 @@ +00000000,00000000,00000000,00000020 diff --git a/tests/nodeinfodata/linux-test7/cpu/cpu6/online b/tests/nodeinfodata/linux-test7/cpu/cpu6/online new file mode 100644 index 0000000..d00491f --- /dev/null +++ b/tests/nodeinfodata/linux-test7/cpu/cpu6/online @@ -0,0 +1 @@ +1 diff --git a/tests/nodeinfodata/linux-test7/cpu/cpu6/topology/core_id b/tests/nodeinfodata/linux-test7/cpu/cpu6/topology/core_id new file mode 100644 index 0000000..573541a --- /dev/null +++ b/tests/nodeinfodata/linux-test7/cpu/cpu6/topology/core_id @@ -0,0 +1 @@ +0 diff --git a/tests/nodeinfodata/linux-test7/cpu/cpu6/topology/physical_package_id b/tests/nodeinfodata/linux-test7/cpu/cpu6/topology/physical_package_id new file mode 100644 index 0000000..573541a --- /dev/null +++ b/tests/nodeinfodata/linux-test7/cpu/cpu6/topology/physical_package_id @@ -0,0 +1 @@ +0 diff --git a/tests/nodeinfodata/linux-test7/cpu/cpu6/topology/thread_siblings b/tests/nodeinfodata/linux-test7/cpu/cpu6/topology/thread_siblings new file mode 100644 index 0000000..024ff71 --- /dev/null +++ b/tests/nodeinfodata/linux-test7/cpu/cpu6/topology/thread_siblings @@ -0,0 +1 @@ +00000000,00000000,00000000,00000040 diff --git a/tests/nodeinfodata/linux-test7/cpu/cpu7/online b/tests/nodeinfodata/linux-test7/cpu/cpu7/online new file mode 100644 index 0000000..d00491f --- /dev/null +++ b/tests/nodeinfodata/linux-test7/cpu/cpu7/online @@ -0,0 +1 @@ +1 diff --git a/tests/nodeinfodata/linux-test7/cpu/cpu7/topology/core_id b/tests/nodeinfodata/linux-test7/cpu/cpu7/topology/core_id new file mode 100644 index 0000000..d00491f --- /dev/null +++ b/tests/nodeinfodata/linux-test7/cpu/cpu7/topology/core_id @@ -0,0 +1 @@ +1 diff --git a/tests/nodeinfodata/linux-test7/cpu/cpu7/topology/physical_package_id b/tests/nodeinfodata/linux-test7/cpu/cpu7/topology/physical_package_id new file mode 100644 index 0000000..573541a --- /dev/null +++ b/tests/nodeinfodata/linux-test7/cpu/cpu7/topology/physical_package_id @@ -0,0 +1 @@ +0 diff --git a/tests/nodeinfodata/linux-test7/cpu/cpu7/topology/thread_siblings b/tests/nodeinfodata/linux-test7/cpu/cpu7/topology/thread_siblings new file mode 100644 index 0000000..bb5a722 --- /dev/null +++ b/tests/nodeinfodata/linux-test7/cpu/cpu7/topology/thread_siblings @@ -0,0 +1 @@ +00000000,00000000,00000000,00000080 diff --git a/tests/nodeinfodata/linux-test7/cpu/cpu8/online b/tests/nodeinfodata/linux-test7/cpu/cpu8/online new file mode 100644 index 0000000..d00491f --- /dev/null +++ b/tests/nodeinfodata/linux-test7/cpu/cpu8/online @@ -0,0 +1 @@ +1 diff --git a/tests/nodeinfodata/linux-test7/cpu/cpu8/topology/core_id b/tests/nodeinfodata/linux-test7/cpu/cpu8/topology/core_id new file mode 100644 index 0000000..0cfbf08 --- /dev/null +++ b/tests/nodeinfodata/linux-test7/cpu/cpu8/topology/core_id @@ -0,0 +1 @@ +2 diff --git a/tests/nodeinfodata/linux-test7/cpu/cpu8/topology/physical_package_id b/tests/nodeinfodata/linux-test7/cpu/cpu8/topology/physical_package_id new file mode 100644 index 0000000..573541a --- /dev/null +++ b/tests/nodeinfodata/linux-test7/cpu/cpu8/topology/physical_package_id @@ -0,0 +1 @@ +0 diff --git a/tests/nodeinfodata/linux-test7/cpu/cpu8/topology/thread_siblings b/tests/nodeinfodata/linux-test7/cpu/cpu8/topology/thread_siblings new file mode 100644 index 0000000..5bd120b --- /dev/null +++ b/tests/nodeinfodata/linux-test7/cpu/cpu8/topology/thread_siblings @@ -0,0 +1 @@ +00000000,00000000,00000000,00000100 diff --git a/tests/nodeinfodata/linux-test7/cpu/cpu9/online b/tests/nodeinfodata/linux-test7/cpu/cpu9/online new file mode 100644 index 0000000..d00491f --- /dev/null +++ b/tests/nodeinfodata/linux-test7/cpu/cpu9/online @@ -0,0 +1 @@ +1 diff --git a/tests/nodeinfodata/linux-test7/cpu/cpu9/topology/core_id b/tests/nodeinfodata/linux-test7/cpu/cpu9/topology/core_id new file mode 100644 index 0000000..00750ed --- /dev/null +++ b/tests/nodeinfodata/linux-test7/cpu/cpu9/topology/core_id @@ -0,0 +1 @@ +3 diff --git a/tests/nodeinfodata/linux-test7/cpu/cpu9/topology/physical_package_id b/tests/nodeinfodata/linux-test7/cpu/cpu9/topology/physical_package_id new file mode 100644 index 0000000..573541a --- /dev/null +++ b/tests/nodeinfodata/linux-test7/cpu/cpu9/topology/physical_package_id @@ -0,0 +1 @@ +0 diff --git a/tests/nodeinfodata/linux-test7/cpu/cpu9/topology/thread_siblings b/tests/nodeinfodata/linux-test7/cpu/cpu9/topology/thread_siblings new file mode 100644 index 0000000..3572438 --- /dev/null +++ b/tests/nodeinfodata/linux-test7/cpu/cpu9/topology/thread_siblings @@ -0,0 +1 @@ +00000000,00000000,00000000,00000200 diff --git a/tests/nodeinfodata/linux-test7/node/node0/cpu0 b/tests/nodeinfodata/linux-test7/node/node0/cpu0 new file mode 120000 index 0000000..c841bea --- /dev/null +++ b/tests/nodeinfodata/linux-test7/node/node0/cpu0 @@ -0,0 +1 @@ +../../cpu/cpu0 \ No newline at end of file diff --git a/tests/nodeinfodata/linux-test7/node/node0/cpu1 b/tests/nodeinfodata/linux-test7/node/node0/cpu1 new file mode 120000 index 0000000..5f45362 --- /dev/null +++ b/tests/nodeinfodata/linux-test7/node/node0/cpu1 @@ -0,0 +1 @@ +../../cpu/cpu1 \ No newline at end of file diff --git a/tests/nodeinfodata/linux-test7/node/node0/cpu10 b/tests/nodeinfodata/linux-test7/node/node0/cpu10 new file mode 120000 index 0000000..a6dc6bb --- /dev/null +++ b/tests/nodeinfodata/linux-test7/node/node0/cpu10 @@ -0,0 +1 @@ +../../cpu/cpu10 \ No newline at end of file diff --git a/tests/nodeinfodata/linux-test7/node/node0/cpu11 b/tests/nodeinfodata/linux-test7/node/node0/cpu11 new file mode 120000 index 0000000..e29d898 --- /dev/null +++ b/tests/nodeinfodata/linux-test7/node/node0/cpu11 @@ -0,0 +1 @@ +../../cpu/cpu11 \ No newline at end of file diff --git a/tests/nodeinfodata/linux-test7/node/node0/cpu12 b/tests/nodeinfodata/linux-test7/node/node0/cpu12 new file mode 120000 index 0000000..211519e --- /dev/null +++ b/tests/nodeinfodata/linux-test7/node/node0/cpu12 @@ -0,0 +1 @@ +../../cpu/cpu12 \ No newline at end of file diff --git a/tests/nodeinfodata/linux-test7/node/node0/cpu13 b/tests/nodeinfodata/linux-test7/node/node0/cpu13 new file mode 120000 index 0000000..52d3b69 --- /dev/null +++ b/tests/nodeinfodata/linux-test7/node/node0/cpu13 @@ -0,0 +1 @@ +../../cpu/cpu13 \ No newline at end of file diff --git a/tests/nodeinfodata/linux-test7/node/node0/cpu14 b/tests/nodeinfodata/linux-test7/node/node0/cpu14 new file mode 120000 index 0000000..24cb3b4 --- /dev/null +++ b/tests/nodeinfodata/linux-test7/node/node0/cpu14 @@ -0,0 +1 @@ +../../cpu/cpu14 \ No newline at end of file diff --git a/tests/nodeinfodata/linux-test7/node/node0/cpu15 b/tests/nodeinfodata/linux-test7/node/node0/cpu15 new file mode 120000 index 0000000..e905d85 --- /dev/null +++ b/tests/nodeinfodata/linux-test7/node/node0/cpu15 @@ -0,0 +1 @@ +../../cpu/cpu15 \ No newline at end of file diff --git a/tests/nodeinfodata/linux-test7/node/node0/cpu16 b/tests/nodeinfodata/linux-test7/node/node0/cpu16 new file mode 120000 index 0000000..445de40 --- /dev/null +++ b/tests/nodeinfodata/linux-test7/node/node0/cpu16 @@ -0,0 +1 @@ +../../cpu/cpu16 \ No newline at end of file diff --git a/tests/nodeinfodata/linux-test7/node/node0/cpu17 b/tests/nodeinfodata/linux-test7/node/node0/cpu17 new file mode 120000 index 0000000..13929db --- /dev/null +++ b/tests/nodeinfodata/linux-test7/node/node0/cpu17 @@ -0,0 +1 @@ +../../cpu/cpu17 \ No newline at end of file diff --git a/tests/nodeinfodata/linux-test7/node/node0/cpu18 b/tests/nodeinfodata/linux-test7/node/node0/cpu18 new file mode 120000 index 0000000..3809adc --- /dev/null +++ b/tests/nodeinfodata/linux-test7/node/node0/cpu18 @@ -0,0 +1 @@ +../../cpu/cpu18 \ No newline at end of file diff --git a/tests/nodeinfodata/linux-test7/node/node0/cpu19 b/tests/nodeinfodata/linux-test7/node/node0/cpu19 new file mode 120000 index 0000000..c671083 --- /dev/null +++ b/tests/nodeinfodata/linux-test7/node/node0/cpu19 @@ -0,0 +1 @@ +../../cpu/cpu19 \ No newline at end of file diff --git a/tests/nodeinfodata/linux-test7/node/node0/cpu2 b/tests/nodeinfodata/linux-test7/node/node0/cpu2 new file mode 120000 index 0000000..2dcca33 --- /dev/null +++ b/tests/nodeinfodata/linux-test7/node/node0/cpu2 @@ -0,0 +1 @@ +../../cpu/cpu2 \ No newline at end of file diff --git a/tests/nodeinfodata/linux-test7/node/node0/cpu20 b/tests/nodeinfodata/linux-test7/node/node0/cpu20 new file mode 120000 index 0000000..a37c370 --- /dev/null +++ b/tests/nodeinfodata/linux-test7/node/node0/cpu20 @@ -0,0 +1 @@ +../../cpu/cpu20 \ No newline at end of file diff --git a/tests/nodeinfodata/linux-test7/node/node0/cpu21 b/tests/nodeinfodata/linux-test7/node/node0/cpu21 new file mode 120000 index 0000000..68a7cad --- /dev/null +++ b/tests/nodeinfodata/linux-test7/node/node0/cpu21 @@ -0,0 +1 @@ +../../cpu/cpu21 \ No newline at end of file diff --git a/tests/nodeinfodata/linux-test7/node/node0/cpu22 b/tests/nodeinfodata/linux-test7/node/node0/cpu22 new file mode 120000 index 0000000..2c226ae --- /dev/null +++ b/tests/nodeinfodata/linux-test7/node/node0/cpu22 @@ -0,0 +1 @@ +../../cpu/cpu22 \ No newline at end of file diff --git a/tests/nodeinfodata/linux-test7/node/node0/cpu23 b/tests/nodeinfodata/linux-test7/node/node0/cpu23 new file mode 120000 index 0000000..75c2f57 --- /dev/null +++ b/tests/nodeinfodata/linux-test7/node/node0/cpu23 @@ -0,0 +1 @@ +../../cpu/cpu23 \ No newline at end of file diff --git a/tests/nodeinfodata/linux-test7/node/node0/cpu3 b/tests/nodeinfodata/linux-test7/node/node0/cpu3 new file mode 120000 index 0000000..c7690e5 --- /dev/null +++ b/tests/nodeinfodata/linux-test7/node/node0/cpu3 @@ -0,0 +1 @@ +../../cpu/cpu3 \ No newline at end of file diff --git a/tests/nodeinfodata/linux-test7/node/node0/cpu4 b/tests/nodeinfodata/linux-test7/node/node0/cpu4 new file mode 120000 index 0000000..9e77a64 --- /dev/null +++ b/tests/nodeinfodata/linux-test7/node/node0/cpu4 @@ -0,0 +1 @@ +../../cpu/cpu4 \ No newline at end of file diff --git a/tests/nodeinfodata/linux-test7/node/node0/cpu5 b/tests/nodeinfodata/linux-test7/node/node0/cpu5 new file mode 120000 index 0000000..cc07c3b --- /dev/null +++ b/tests/nodeinfodata/linux-test7/node/node0/cpu5 @@ -0,0 +1 @@ +../../cpu/cpu5 \ No newline at end of file diff --git a/tests/nodeinfodata/linux-test7/node/node0/cpu6 b/tests/nodeinfodata/linux-test7/node/node0/cpu6 new file mode 120000 index 0000000..2e75763 --- /dev/null +++ b/tests/nodeinfodata/linux-test7/node/node0/cpu6 @@ -0,0 +1 @@ +../../cpu/cpu6 \ No newline at end of file diff --git a/tests/nodeinfodata/linux-test7/node/node0/cpu7 b/tests/nodeinfodata/linux-test7/node/node0/cpu7 new file mode 120000 index 0000000..09e3f79 --- /dev/null +++ b/tests/nodeinfodata/linux-test7/node/node0/cpu7 @@ -0,0 +1 @@ +../../cpu/cpu7 \ No newline at end of file diff --git a/tests/nodeinfodata/linux-test7/node/node0/cpu8 b/tests/nodeinfodata/linux-test7/node/node0/cpu8 new file mode 120000 index 0000000..bda10cc --- /dev/null +++ b/tests/nodeinfodata/linux-test7/node/node0/cpu8 @@ -0,0 +1 @@ +../../cpu/cpu8 \ No newline at end of file diff --git a/tests/nodeinfodata/linux-test7/node/node0/cpu9 b/tests/nodeinfodata/linux-test7/node/node0/cpu9 new file mode 120000 index 0000000..1ec1db2 --- /dev/null +++ b/tests/nodeinfodata/linux-test7/node/node0/cpu9 @@ -0,0 +1 @@ +../../cpu/cpu9 \ No newline at end of file diff --git a/tests/nodeinfodata/linux-test7/node/node0/meminfo b/tests/nodeinfodata/linux-test7/node/node0/meminfo new file mode 100644 index 0000000..09a9d24 --- /dev/null +++ b/tests/nodeinfodata/linux-test7/node/node0/meminfo @@ -0,0 +1,29 @@ +Node 0 MemTotal: 134215764 kB +Node 0 MemFree: 4659184 kB +Node 0 MemUsed: 129556580 kB +Node 0 Active: 57038240 kB +Node 0 Inactive: 50860308 kB +Node 0 Active(anon): 7992112 kB +Node 0 Inactive(anon): 2321780 kB +Node 0 Active(file): 49046128 kB +Node 0 Inactive(file): 48538528 kB +Node 0 Unevictable: 3492 kB +Node 0 Mlocked: 3492 kB +Node 0 Dirty: 7736 kB +Node 0 Writeback: 0 kB +Node 0 FilePages: 97948672 kB +Node 0 Mapped: 39292 kB +Node 0 AnonPages: 9953768 kB +Node 0 Shmem: 361396 kB +Node 0 KernelStack: 4792 kB +Node 0 PageTables: 48328 kB +Node 0 NFS_Unstable: 0 kB +Node 0 Bounce: 0 kB +Node 0 WritebackTmp: 0 kB +Node 0 Slab: 1572840 kB +Node 0 SReclaimable: 1463196 kB +Node 0 SUnreclaim: 109644 kB +Node 0 AnonHugePages: 9218048 kB +Node 0 HugePages_Total: 8192 +Node 0 HugePages_Free: 4466 +Node 0 HugePages_Surp: 0 diff --git a/tests/nodeinfodata/linux-test7/node/online b/tests/nodeinfodata/linux-test7/node/online new file mode 100644 index 0000000..573541a --- /dev/null +++ b/tests/nodeinfodata/linux-test7/node/online @@ -0,0 +1 @@ +0 diff --git a/tests/nodeinfodata/linux-test7/node/possible b/tests/nodeinfodata/linux-test7/node/possible new file mode 100644 index 0000000..573541a --- /dev/null +++ b/tests/nodeinfodata/linux-test7/node/possible @@ -0,0 +1 @@ +0 diff --git a/tests/nodeinfodata/linux-x86-test7.cpuinfo b/tests/nodeinfodata/linux-x86-test7.cpuinfo new file mode 100644 index 0000000..4be2980 --- /dev/null +++ b/tests/nodeinfodata/linux-x86-test7.cpuinfo @@ -0,0 +1,648 @@ +processor : 0 +vendor_id : AuthenticAMD +cpu family : 16 +model : 9 +model name : AMD Opteron(tm) Processor 6174 +stepping : 1 +microcode : 0x10000d4 +cpu MHz : 2200.000 +cache size : 512 KB +physical id : 0 +siblings : 12 +core id : 0 +cpu cores : 12 +apicid : 16 +initial apicid : 0 +fpu : yes +fpu_exception : yes +cpuid level : 5 +wp : yes +flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ht syscall nx mmxext fxsr_opt pdpe1gb rdtscp lm 3dnowext 3dnow constant_tsc rep_good nopl nonstop_tsc extd_apicid amd_dcm pni monitor cx16 popcnt lahf_lm cmp_legacy svm extapic cr8_legacy abm sse4a misalignsse 3dnowprefetch osvw ibs skinit wdt nodeid_msr hw_pstate npt lbrv svm_lock nrip_save pausefilter +bogomips : 4390.30 +TLB size : 1024 4K pages +clflush size : 64 +cache_alignment : 64 +address sizes : 48 bits physical, 48 bits virtual +power management: ts ttp tm stc 100mhzsteps hwpstate + +processor : 1 +vendor_id : AuthenticAMD +cpu family : 16 +model : 9 +model name : AMD Opteron(tm) Processor 6174 +stepping : 1 +microcode : 0x10000d4 +cpu MHz : 2200.000 +cache size : 512 KB +physical id : 0 +siblings : 12 +core id : 1 +cpu cores : 12 +apicid : 17 +initial apicid : 1 +fpu : yes +fpu_exception : yes +cpuid level : 5 +wp : yes +flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ht syscall nx mmxext fxsr_opt pdpe1gb rdtscp lm 3dnowext 3dnow constant_tsc rep_good nopl nonstop_tsc extd_apicid amd_dcm pni monitor cx16 popcnt lahf_lm cmp_legacy svm extapic cr8_legacy abm sse4a misalignsse 3dnowprefetch osvw ibs skinit wdt nodeid_msr hw_pstate npt lbrv svm_lock nrip_save pausefilter +bogomips : 4390.30 +TLB size : 1024 4K pages +clflush size : 64 +cache_alignment : 64 +address sizes : 48 bits physical, 48 bits virtual +power management: ts ttp tm stc 100mhzsteps hwpstate + +processor : 2 +vendor_id : AuthenticAMD +cpu family : 16 +model : 9 +model name : AMD Opteron(tm) Processor 6174 +stepping : 1 +microcode : 0x10000d4 +cpu MHz : 2200.000 +cache size : 512 KB +physical id : 0 +siblings : 12 +core id : 2 +cpu cores : 12 +apicid : 18 +initial apicid : 2 +fpu : yes +fpu_exception : yes +cpuid level : 5 +wp : yes +flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ht syscall nx mmxext fxsr_opt pdpe1gb rdtscp lm 3dnowext 3dnow constant_tsc rep_good nopl nonstop_tsc extd_apicid amd_dcm pni monitor cx16 popcnt lahf_lm cmp_legacy svm extapic cr8_legacy abm sse4a misalignsse 3dnowprefetch osvw ibs skinit wdt nodeid_msr hw_pstate npt lbrv svm_lock nrip_save pausefilter +bogomips : 4390.30 +TLB size : 1024 4K pages +clflush size : 64 +cache_alignment : 64 +address sizes : 48 bits physical, 48 bits virtual +power management: ts ttp tm stc 100mhzsteps hwpstate + +processor : 3 +vendor_id : AuthenticAMD +cpu family : 16 +model : 9 +model name : AMD Opteron(tm) Processor 6174 +stepping : 1 +microcode : 0x10000d4 +cpu MHz : 2200.000 +cache size : 512 KB +physical id : 0 +siblings : 12 +core id : 3 +cpu cores : 12 +apicid : 19 +initial apicid : 3 +fpu : yes +fpu_exception : yes +cpuid level : 5 +wp : yes +flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ht syscall nx mmxext fxsr_opt pdpe1gb rdtscp lm 3dnowext 3dnow constant_tsc rep_good nopl nonstop_tsc extd_apicid amd_dcm pni monitor cx16 popcnt lahf_lm cmp_legacy svm extapic cr8_legacy abm sse4a misalignsse 3dnowprefetch osvw ibs skinit wdt nodeid_msr hw_pstate npt lbrv svm_lock nrip_save pausefilter +bogomips : 4390.30 +TLB size : 1024 4K pages +clflush size : 64 +cache_alignment : 64 +address sizes : 48 bits physical, 48 bits virtual +power management: ts ttp tm stc 100mhzsteps hwpstate + +processor : 4 +vendor_id : AuthenticAMD +cpu family : 16 +model : 9 +model name : AMD Opteron(tm) Processor 6174 +stepping : 1 +microcode : 0x10000d4 +cpu MHz : 2200.000 +cache size : 512 KB +physical id : 0 +siblings : 12 +core id : 4 +cpu cores : 12 +apicid : 20 +initial apicid : 4 +fpu : yes +fpu_exception : yes +cpuid level : 5 +wp : yes +flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ht syscall nx mmxext fxsr_opt pdpe1gb rdtscp lm 3dnowext 3dnow constant_tsc rep_good nopl nonstop_tsc extd_apicid amd_dcm pni monitor cx16 popcnt lahf_lm cmp_legacy svm extapic cr8_legacy abm sse4a misalignsse 3dnowprefetch osvw ibs skinit wdt nodeid_msr hw_pstate npt lbrv svm_lock nrip_save pausefilter +bogomips : 4390.30 +TLB size : 1024 4K pages +clflush size : 64 +cache_alignment : 64 +address sizes : 48 bits physical, 48 bits virtual +power management: ts ttp tm stc 100mhzsteps hwpstate + +processor : 5 +vendor_id : AuthenticAMD +cpu family : 16 +model : 9 +model name : AMD Opteron(tm) Processor 6174 +stepping : 1 +microcode : 0x10000d4 +cpu MHz : 2200.000 +cache size : 512 KB +physical id : 0 +siblings : 12 +core id : 5 +cpu cores : 12 +apicid : 21 +initial apicid : 5 +fpu : yes +fpu_exception : yes +cpuid level : 5 +wp : yes +flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ht syscall nx mmxext fxsr_opt pdpe1gb rdtscp lm 3dnowext 3dnow constant_tsc rep_good nopl nonstop_tsc extd_apicid amd_dcm pni monitor cx16 popcnt lahf_lm cmp_legacy svm extapic cr8_legacy abm sse4a misalignsse 3dnowprefetch osvw ibs skinit wdt nodeid_msr hw_pstate npt lbrv svm_lock nrip_save pausefilter +bogomips : 4390.30 +TLB size : 1024 4K pages +clflush size : 64 +cache_alignment : 64 +address sizes : 48 bits physical, 48 bits virtual +power management: ts ttp tm stc 100mhzsteps hwpstate + +processor : 6 +vendor_id : AuthenticAMD +cpu family : 16 +model : 9 +model name : AMD Opteron(tm) Processor 6174 +stepping : 1 +microcode : 0x10000d4 +cpu MHz : 2200.000 +cache size : 512 KB +physical id : 0 +siblings : 12 +core id : 0 +cpu cores : 12 +apicid : 22 +initial apicid : 6 +fpu : yes +fpu_exception : yes +cpuid level : 5 +wp : yes +flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ht syscall nx mmxext fxsr_opt pdpe1gb rdtscp lm 3dnowext 3dnow constant_tsc rep_good nopl nonstop_tsc extd_apicid amd_dcm pni monitor cx16 popcnt lahf_lm cmp_legacy svm extapic cr8_legacy abm sse4a misalignsse 3dnowprefetch osvw ibs skinit wdt nodeid_msr hw_pstate npt lbrv svm_lock nrip_save pausefilter +bogomips : 4390.30 +TLB size : 1024 4K pages +clflush size : 64 +cache_alignment : 64 +address sizes : 48 bits physical, 48 bits virtual +power management: ts ttp tm stc 100mhzsteps hwpstate + +processor : 7 +vendor_id : AuthenticAMD +cpu family : 16 +model : 9 +model name : AMD Opteron(tm) Processor 6174 +stepping : 1 +microcode : 0x10000d4 +cpu MHz : 2200.000 +cache size : 512 KB +physical id : 0 +siblings : 12 +core id : 1 +cpu cores : 12 +apicid : 23 +initial apicid : 7 +fpu : yes +fpu_exception : yes +cpuid level : 5 +wp : yes +flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ht syscall nx mmxext fxsr_opt pdpe1gb rdtscp lm 3dnowext 3dnow constant_tsc rep_good nopl nonstop_tsc extd_apicid amd_dcm pni monitor cx16 popcnt lahf_lm cmp_legacy svm extapic cr8_legacy abm sse4a misalignsse 3dnowprefetch osvw ibs skinit wdt nodeid_msr hw_pstate npt lbrv svm_lock nrip_save pausefilter +bogomips : 4390.30 +TLB size : 1024 4K pages +clflush size : 64 +cache_alignment : 64 +address sizes : 48 bits physical, 48 bits virtual +power management: ts ttp tm stc 100mhzsteps hwpstate + +processor : 8 +vendor_id : AuthenticAMD +cpu family : 16 +model : 9 +model name : AMD Opteron(tm) Processor 6174 +stepping : 1 +microcode : 0x10000d4 +cpu MHz : 2200.000 +cache size : 512 KB +physical id : 0 +siblings : 12 +core id : 2 +cpu cores : 12 +apicid : 24 +initial apicid : 8 +fpu : yes +fpu_exception : yes +cpuid level : 5 +wp : yes +flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ht syscall nx mmxext fxsr_opt pdpe1gb rdtscp lm 3dnowext 3dnow constant_tsc rep_good nopl nonstop_tsc extd_apicid amd_dcm pni monitor cx16 popcnt lahf_lm cmp_legacy svm extapic cr8_legacy abm sse4a misalignsse 3dnowprefetch osvw ibs skinit wdt nodeid_msr hw_pstate npt lbrv svm_lock nrip_save pausefilter +bogomips : 4390.30 +TLB size : 1024 4K pages +clflush size : 64 +cache_alignment : 64 +address sizes : 48 bits physical, 48 bits virtual +power management: ts ttp tm stc 100mhzsteps hwpstate + +processor : 9 +vendor_id : AuthenticAMD +cpu family : 16 +model : 9 +model name : AMD Opteron(tm) Processor 6174 +stepping : 1 +microcode : 0x10000d4 +cpu MHz : 2200.000 +cache size : 512 KB +physical id : 0 +siblings : 12 +core id : 3 +cpu cores : 12 +apicid : 25 +initial apicid : 9 +fpu : yes +fpu_exception : yes +cpuid level : 5 +wp : yes +flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ht syscall nx mmxext fxsr_opt pdpe1gb rdtscp lm 3dnowext 3dnow constant_tsc rep_good nopl nonstop_tsc extd_apicid amd_dcm pni monitor cx16 popcnt lahf_lm cmp_legacy svm extapic cr8_legacy abm sse4a misalignsse 3dnowprefetch osvw ibs skinit wdt nodeid_msr hw_pstate npt lbrv svm_lock nrip_save pausefilter +bogomips : 4390.30 +TLB size : 1024 4K pages +clflush size : 64 +cache_alignment : 64 +address sizes : 48 bits physical, 48 bits virtual +power management: ts ttp tm stc 100mhzsteps hwpstate + +processor : 10 +vendor_id : AuthenticAMD +cpu family : 16 +model : 9 +model name : AMD Opteron(tm) Processor 6174 +stepping : 1 +microcode : 0x10000d4 +cpu MHz : 2200.000 +cache size : 512 KB +physical id : 0 +siblings : 12 +core id : 4 +cpu cores : 12 +apicid : 26 +initial apicid : 10 +fpu : yes +fpu_exception : yes +cpuid level : 5 +wp : yes +flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ht syscall nx mmxext fxsr_opt pdpe1gb rdtscp lm 3dnowext 3dnow constant_tsc rep_good nopl nonstop_tsc extd_apicid amd_dcm pni monitor cx16 popcnt lahf_lm cmp_legacy svm extapic cr8_legacy abm sse4a misalignsse 3dnowprefetch osvw ibs skinit wdt nodeid_msr hw_pstate npt lbrv svm_lock nrip_save pausefilter +bogomips : 4390.30 +TLB size : 1024 4K pages +clflush size : 64 +cache_alignment : 64 +address sizes : 48 bits physical, 48 bits virtual +power management: ts ttp tm stc 100mhzsteps hwpstate + +processor : 11 +vendor_id : AuthenticAMD +cpu family : 16 +model : 9 +model name : AMD Opteron(tm) Processor 6174 +stepping : 1 +microcode : 0x10000d4 +cpu MHz : 2200.000 +cache size : 512 KB +physical id : 0 +siblings : 12 +core id : 5 +cpu cores : 12 +apicid : 27 +initial apicid : 11 +fpu : yes +fpu_exception : yes +cpuid level : 5 +wp : yes +flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ht syscall nx mmxext fxsr_opt pdpe1gb rdtscp lm 3dnowext 3dnow constant_tsc rep_good nopl nonstop_tsc extd_apicid amd_dcm pni monitor cx16 popcnt lahf_lm cmp_legacy svm extapic cr8_legacy abm sse4a misalignsse 3dnowprefetch osvw ibs skinit wdt nodeid_msr hw_pstate npt lbrv svm_lock nrip_save pausefilter +bogomips : 4390.30 +TLB size : 1024 4K pages +clflush size : 64 +cache_alignment : 64 +address sizes : 48 bits physical, 48 bits virtual +power management: ts ttp tm stc 100mhzsteps hwpstate + +processor : 12 +vendor_id : AuthenticAMD +cpu family : 16 +model : 9 +model name : AMD Opteron(tm) Processor 6174 +stepping : 1 +microcode : 0x10000d4 +cpu MHz : 2200.000 +cache size : 512 KB +physical id : 1 +siblings : 12 +core id : 0 +cpu cores : 12 +apicid : 32 +initial apicid : 16 +fpu : yes +fpu_exception : yes +cpuid level : 5 +wp : yes +flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ht syscall nx mmxext fxsr_opt pdpe1gb rdtscp lm 3dnowext 3dnow constant_tsc rep_good nopl nonstop_tsc extd_apicid amd_dcm pni monitor cx16 popcnt lahf_lm cmp_legacy svm extapic cr8_legacy abm sse4a misalignsse 3dnowprefetch osvw ibs skinit wdt nodeid_msr hw_pstate npt lbrv svm_lock nrip_save pausefilter +bogomips : 4390.52 +TLB size : 1024 4K pages +clflush size : 64 +cache_alignment : 64 +address sizes : 48 bits physical, 48 bits virtual +power management: ts ttp tm stc 100mhzsteps hwpstate + +processor : 13 +vendor_id : AuthenticAMD +cpu family : 16 +model : 9 +model name : AMD Opteron(tm) Processor 6174 +stepping : 1 +microcode : 0x10000d4 +cpu MHz : 2200.000 +cache size : 512 KB +physical id : 1 +siblings : 12 +core id : 1 +cpu cores : 12 +apicid : 33 +initial apicid : 17 +fpu : yes +fpu_exception : yes +cpuid level : 5 +wp : yes +flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ht syscall nx mmxext fxsr_opt pdpe1gb rdtscp lm 3dnowext 3dnow constant_tsc rep_good nopl nonstop_tsc extd_apicid amd_dcm pni monitor cx16 popcnt lahf_lm cmp_legacy svm extapic cr8_legacy abm sse4a misalignsse 3dnowprefetch osvw ibs skinit wdt nodeid_msr hw_pstate npt lbrv svm_lock nrip_save pausefilter +bogomips : 4390.52 +TLB size : 1024 4K pages +clflush size : 64 +cache_alignment : 64 +address sizes : 48 bits physical, 48 bits virtual +power management: ts ttp tm stc 100mhzsteps hwpstate + +processor : 14 +vendor_id : AuthenticAMD +cpu family : 16 +model : 9 +model name : AMD Opteron(tm) Processor 6174 +stepping : 1 +microcode : 0x10000d4 +cpu MHz : 2200.000 +cache size : 512 KB +physical id : 1 +siblings : 12 +core id : 2 +cpu cores : 12 +apicid : 34 +initial apicid : 18 +fpu : yes +fpu_exception : yes +cpuid level : 5 +wp : yes +flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ht syscall nx mmxext fxsr_opt pdpe1gb rdtscp lm 3dnowext 3dnow constant_tsc rep_good nopl nonstop_tsc extd_apicid amd_dcm pni monitor cx16 popcnt lahf_lm cmp_legacy svm extapic cr8_legacy abm sse4a misalignsse 3dnowprefetch osvw ibs skinit wdt nodeid_msr hw_pstate npt lbrv svm_lock nrip_save pausefilter +bogomips : 4390.52 +TLB size : 1024 4K pages +clflush size : 64 +cache_alignment : 64 +address sizes : 48 bits physical, 48 bits virtual +power management: ts ttp tm stc 100mhzsteps hwpstate + +processor : 15 +vendor_id : AuthenticAMD +cpu family : 16 +model : 9 +model name : AMD Opteron(tm) Processor 6174 +stepping : 1 +microcode : 0x10000d4 +cpu MHz : 2200.000 +cache size : 512 KB +physical id : 1 +siblings : 12 +core id : 3 +cpu cores : 12 +apicid : 35 +initial apicid : 19 +fpu : yes +fpu_exception : yes +cpuid level : 5 +wp : yes +flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ht syscall nx mmxext fxsr_opt pdpe1gb rdtscp lm 3dnowext 3dnow constant_tsc rep_good nopl nonstop_tsc extd_apicid amd_dcm pni monitor cx16 popcnt lahf_lm cmp_legacy svm extapic cr8_legacy abm sse4a misalignsse 3dnowprefetch osvw ibs skinit wdt nodeid_msr hw_pstate npt lbrv svm_lock nrip_save pausefilter +bogomips : 4390.52 +TLB size : 1024 4K pages +clflush size : 64 +cache_alignment : 64 +address sizes : 48 bits physical, 48 bits virtual +power management: ts ttp tm stc 100mhzsteps hwpstate + +processor : 16 +vendor_id : AuthenticAMD +cpu family : 16 +model : 9 +model name : AMD Opteron(tm) Processor 6174 +stepping : 1 +microcode : 0x10000d4 +cpu MHz : 2200.000 +cache size : 512 KB +physical id : 1 +siblings : 12 +core id : 4 +cpu cores : 12 +apicid : 36 +initial apicid : 20 +fpu : yes +fpu_exception : yes +cpuid level : 5 +wp : yes +flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ht syscall nx mmxext fxsr_opt pdpe1gb rdtscp lm 3dnowext 3dnow constant_tsc rep_good nopl nonstop_tsc extd_apicid amd_dcm pni monitor cx16 popcnt lahf_lm cmp_legacy svm extapic cr8_legacy abm sse4a misalignsse 3dnowprefetch osvw ibs skinit wdt nodeid_msr hw_pstate npt lbrv svm_lock nrip_save pausefilter +bogomips : 4390.52 +TLB size : 1024 4K pages +clflush size : 64 +cache_alignment : 64 +address sizes : 48 bits physical, 48 bits virtual +power management: ts ttp tm stc 100mhzsteps hwpstate + +processor : 17 +vendor_id : AuthenticAMD +cpu family : 16 +model : 9 +model name : AMD Opteron(tm) Processor 6174 +stepping : 1 +microcode : 0x10000d4 +cpu MHz : 2200.000 +cache size : 512 KB +physical id : 1 +siblings : 12 +core id : 5 +cpu cores : 12 +apicid : 37 +initial apicid : 21 +fpu : yes +fpu_exception : yes +cpuid level : 5 +wp : yes +flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ht syscall nx mmxext fxsr_opt pdpe1gb rdtscp lm 3dnowext 3dnow constant_tsc rep_good nopl nonstop_tsc extd_apicid amd_dcm pni monitor cx16 popcnt lahf_lm cmp_legacy svm extapic cr8_legacy abm sse4a misalignsse 3dnowprefetch osvw ibs skinit wdt nodeid_msr hw_pstate npt lbrv svm_lock nrip_save pausefilter +bogomips : 4390.52 +TLB size : 1024 4K pages +clflush size : 64 +cache_alignment : 64 +address sizes : 48 bits physical, 48 bits virtual +power management: ts ttp tm stc 100mhzsteps hwpstate + +processor : 18 +vendor_id : AuthenticAMD +cpu family : 16 +model : 9 +model name : AMD Opteron(tm) Processor 6174 +stepping : 1 +microcode : 0x10000d4 +cpu MHz : 2200.000 +cache size : 512 KB +physical id : 1 +siblings : 12 +core id : 0 +cpu cores : 12 +apicid : 38 +initial apicid : 22 +fpu : yes +fpu_exception : yes +cpuid level : 5 +wp : yes +flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ht syscall nx mmxext fxsr_opt pdpe1gb rdtscp lm 3dnowext 3dnow constant_tsc rep_good nopl nonstop_tsc extd_apicid amd_dcm pni monitor cx16 popcnt lahf_lm cmp_legacy svm extapic cr8_legacy abm sse4a misalignsse 3dnowprefetch osvw ibs skinit wdt nodeid_msr hw_pstate npt lbrv svm_lock nrip_save pausefilter +bogomips : 4390.52 +TLB size : 1024 4K pages +clflush size : 64 +cache_alignment : 64 +address sizes : 48 bits physical, 48 bits virtual +power management: ts ttp tm stc 100mhzsteps hwpstate + +processor : 19 +vendor_id : AuthenticAMD +cpu family : 16 +model : 9 +model name : AMD Opteron(tm) Processor 6174 +stepping : 1 +microcode : 0x10000d4 +cpu MHz : 2200.000 +cache size : 512 KB +physical id : 1 +siblings : 12 +core id : 1 +cpu cores : 12 +apicid : 39 +initial apicid : 23 +fpu : yes +fpu_exception : yes +cpuid level : 5 +wp : yes +flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ht syscall nx mmxext fxsr_opt pdpe1gb rdtscp lm 3dnowext 3dnow constant_tsc rep_good nopl nonstop_tsc extd_apicid amd_dcm pni monitor cx16 popcnt lahf_lm cmp_legacy svm extapic cr8_legacy abm sse4a misalignsse 3dnowprefetch osvw ibs skinit wdt nodeid_msr hw_pstate npt lbrv svm_lock nrip_save pausefilter +bogomips : 4390.52 +TLB size : 1024 4K pages +clflush size : 64 +cache_alignment : 64 +address sizes : 48 bits physical, 48 bits virtual +power management: ts ttp tm stc 100mhzsteps hwpstate + +processor : 20 +vendor_id : AuthenticAMD +cpu family : 16 +model : 9 +model name : AMD Opteron(tm) Processor 6174 +stepping : 1 +microcode : 0x10000d4 +cpu MHz : 2200.000 +cache size : 512 KB +physical id : 1 +siblings : 12 +core id : 2 +cpu cores : 12 +apicid : 40 +initial apicid : 24 +fpu : yes +fpu_exception : yes +cpuid level : 5 +wp : yes +flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ht syscall nx mmxext fxsr_opt pdpe1gb rdtscp lm 3dnowext 3dnow constant_tsc rep_good nopl nonstop_tsc extd_apicid amd_dcm pni monitor cx16 popcnt lahf_lm cmp_legacy svm extapic cr8_legacy abm sse4a misalignsse 3dnowprefetch osvw ibs skinit wdt nodeid_msr hw_pstate npt lbrv svm_lock nrip_save pausefilter +bogomips : 4390.52 +TLB size : 1024 4K pages +clflush size : 64 +cache_alignment : 64 +address sizes : 48 bits physical, 48 bits virtual +power management: ts ttp tm stc 100mhzsteps hwpstate + +processor : 21 +vendor_id : AuthenticAMD +cpu family : 16 +model : 9 +model name : AMD Opteron(tm) Processor 6174 +stepping : 1 +microcode : 0x10000d4 +cpu MHz : 2200.000 +cache size : 512 KB +physical id : 1 +siblings : 12 +core id : 3 +cpu cores : 12 +apicid : 41 +initial apicid : 25 +fpu : yes +fpu_exception : yes +cpuid level : 5 +wp : yes +flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ht syscall nx mmxext fxsr_opt pdpe1gb rdtscp lm 3dnowext 3dnow constant_tsc rep_good nopl nonstop_tsc extd_apicid amd_dcm pni monitor cx16 popcnt lahf_lm cmp_legacy svm extapic cr8_legacy abm sse4a misalignsse 3dnowprefetch osvw ibs skinit wdt nodeid_msr hw_pstate npt lbrv svm_lock nrip_save pausefilter +bogomips : 4390.52 +TLB size : 1024 4K pages +clflush size : 64 +cache_alignment : 64 +address sizes : 48 bits physical, 48 bits virtual +power management: ts ttp tm stc 100mhzsteps hwpstate + +processor : 22 +vendor_id : AuthenticAMD +cpu family : 16 +model : 9 +model name : AMD Opteron(tm) Processor 6174 +stepping : 1 +microcode : 0x10000d4 +cpu MHz : 2200.000 +cache size : 512 KB +physical id : 1 +siblings : 12 +core id : 4 +cpu cores : 12 +apicid : 42 +initial apicid : 26 +fpu : yes +fpu_exception : yes +cpuid level : 5 +wp : yes +flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ht syscall nx mmxext fxsr_opt pdpe1gb rdtscp lm 3dnowext 3dnow constant_tsc rep_good nopl nonstop_tsc extd_apicid amd_dcm pni monitor cx16 popcnt lahf_lm cmp_legacy svm extapic cr8_legacy abm sse4a misalignsse 3dnowprefetch osvw ibs skinit wdt nodeid_msr hw_pstate npt lbrv svm_lock nrip_save pausefilter +bogomips : 4390.52 +TLB size : 1024 4K pages +clflush size : 64 +cache_alignment : 64 +address sizes : 48 bits physical, 48 bits virtual +power management: ts ttp tm stc 100mhzsteps hwpstate + +processor : 23 +vendor_id : AuthenticAMD +cpu family : 16 +model : 9 +model name : AMD Opteron(tm) Processor 6174 +stepping : 1 +microcode : 0x10000d4 +cpu MHz : 2200.000 +cache size : 512 KB +physical id : 1 +siblings : 12 +core id : 5 +cpu cores : 12 +apicid : 43 +initial apicid : 27 +fpu : yes +fpu_exception : yes +cpuid level : 5 +wp : yes +flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ht syscall nx mmxext fxsr_opt pdpe1gb rdtscp lm 3dnowext 3dnow constant_tsc rep_good nopl nonstop_tsc extd_apicid amd_dcm pni monitor cx16 popcnt lahf_lm cmp_legacy svm extapic cr8_legacy abm sse4a misalignsse 3dnowprefetch osvw ibs skinit wdt nodeid_msr hw_pstate npt lbrv svm_lock nrip_save pausefilter +bogomips : 4390.52 +TLB size : 1024 4K pages +clflush size : 64 +cache_alignment : 64 +address sizes : 48 bits physical, 48 bits virtual +power management: ts ttp tm stc 100mhzsteps hwpstate + diff --git a/tests/nodeinfodata/linux-x86-test7.expected b/tests/nodeinfodata/linux-x86-test7.expected new file mode 100644 index 0000000..e56360d --- /dev/null +++ b/tests/nodeinfodata/linux-x86-test7.expected @@ -0,0 +1 @@ +CPUs: 24/24, MHz: 2200, Nodes: 1, Sockets: 1, Cores: 24, Threads: 1 diff --git a/tests/nodeinfotest.c b/tests/nodeinfotest.c index c44cc8a..7dae580 100644 --- a/tests/nodeinfotest.c +++ b/tests/nodeinfotest.c @@ -131,6 +131,7 @@ mymain(void) "test4", "test5", "test6", + "test7", # endif }; -- 1.7.12.4

On 10/23/2012 06:40 AM, Peter Krempa wrote:
This patch adds a workaround for the cpu topology detection code if the kernel reports incorrect count of numa nodes or any other reason that might result in duplicate core ID's in one socket.
Do we know what versions of kernels have this bug? If it is still current, has this been opened as a bug report against the kernel?
If such a situation is detected, the detection code reports the correct number of processors but the topology is mangled:
$ virsh nodeinfo CPU model: x86_64 CPU(s): 24 CPU frequency: 2200 MHz CPU socket(s): 1 Core(s) per socket: 24 Thread(s) per core: 1 NUMA cell(s): 1 Memory size: 8047272 KiB
This patch also adds test data for such a situation.
Reported (and test data provided) by: gcbirzan on #virt@OFTC --- This patch looks huge but it's mostly test data.
Concur; reading just the changes to src/nodeinfo.c is adequate for evaluating the patch.
+++ b/src/nodeinfo.c @@ -200,7 +200,9 @@ CPU_COUNT(cpu_set_t *set) # endif /* !CPU_COUNT */
/* parses a node entry, returning number of processors in the node and - * filling arguments */ + * filling arguments. + * Returns -1 on error, -2 if kernel reports invalid numa topology and number + * of processors in the node otherwise */ static int virNodeParseNode(const char *node, int *sockets, int *cores, int *threads) ATTRIBUTE_NONNULL(1) ATTRIBUTE_NONNULL(2) @@ -219,6 +221,7 @@ virNodeParseNode(const char *node, int *sockets, int *cores, int *threads) int siblings; unsigned int cpu; int online; + bool bad_topology = false;
*threads = 0; *cores = 0; @@ -300,11 +303,14 @@ virNodeParseNode(const char *node, int *sockets, int *cores, int *threads) core = virNodeGetCpuValue(node, cpu, "topology/core_id", false); # endif
- CPU_SET(core, &core_maps[sock]); - if (!(siblings = virNodeCountThreadSiblings(node, cpu))) goto cleanup;
+ if (CPU_ISSET(core, &core_maps[sock]) && siblings <= 1) + bad_topology = true; + + CPU_SET(core, &core_maps[sock]);
If you install the 'hwloc' package on the afflicted machine, can you then send us the file created by 'lstopo proc.png', so we can get a better feel for what the machine actually supports? Is it really a case of duplicate processor ids being mistakenly reported by the kernel, or more a case of us mis-reading sysfs and seeing duplicates because we aren't looking in enough other places? At any rate, this patch looks okay, if we can prove that the kernel really is giving us bogus information, and not just a case of us misreading things. -- Eric Blake eblake@redhat.com +1-919-301-3266 Libvirt virtualization library http://libvirt.org

On 10/23/12 17:07, Eric Blake wrote:
On 10/23/2012 06:40 AM, Peter Krempa wrote:
This patch adds a workaround for the cpu topology detection code if the kernel reports incorrect count of numa nodes or any other reason that might result in duplicate core ID's in one socket.
Do we know what versions of kernels have this bug? If it is still current, has this been opened as a bug report against the kernel?
The guy who reported it told me that it's fedora 17. I'll try to reach him tomorrow to gather more info.
If such a situation is detected, the detection code reports the correct number of processors but the topology is mangled:
$ virsh nodeinfo CPU model: x86_64 CPU(s): 24 CPU frequency: 2200 MHz CPU socket(s): 1 Core(s) per socket: 24 Thread(s) per core: 1 NUMA cell(s): 1 Memory size: 8047272 KiB
This patch also adds test data for such a situation.
Reported (and test data provided) by: gcbirzan on #virt@OFTC --- This patch looks huge but it's mostly test data.
Concur; reading just the changes to src/nodeinfo.c is adequate for evaluating the patch.
+++ b/src/nodeinfo.c @@ -200,7 +200,9 @@ CPU_COUNT(cpu_set_t *set) # endif /* !CPU_COUNT */
/* parses a node entry, returning number of processors in the node and - * filling arguments */ + * filling arguments. + * Returns -1 on error, -2 if kernel reports invalid numa topology and number + * of processors in the node otherwise */ static int virNodeParseNode(const char *node, int *sockets, int *cores, int *threads) ATTRIBUTE_NONNULL(1) ATTRIBUTE_NONNULL(2) @@ -219,6 +221,7 @@ virNodeParseNode(const char *node, int *sockets, int *cores, int *threads) int siblings; unsigned int cpu; int online; + bool bad_topology = false;
*threads = 0; *cores = 0; @@ -300,11 +303,14 @@ virNodeParseNode(const char *node, int *sockets, int *cores, int *threads) core = virNodeGetCpuValue(node, cpu, "topology/core_id", false); # endif
- CPU_SET(core, &core_maps[sock]); - if (!(siblings = virNodeCountThreadSiblings(node, cpu))) goto cleanup;
+ if (CPU_ISSET(core, &core_maps[sock]) && siblings <= 1) + bad_topology = true; + + CPU_SET(core, &core_maps[sock]);
If you install the 'hwloc' package on the afflicted machine, can you then send us the file created by 'lstopo proc.png', so we can get a better feel for what the machine actually supports? Is it really a case of duplicate processor ids being mistakenly reported by the kernel, or more a case of us mis-reading sysfs and seeing duplicates because we aren't looking in enough other places?
The duplicate processor ids are actually correct if the machine reports the numa topology as it is. The magny cours processor that is used in the system reporting the issue has 2 numa nodes, each of cores in a physical package. It is actualy correct if those two have identical core ID's. The issue observed is that the numa topology definition as reported in sysfs or by numactl has only 1 node instead of 4 that should have been reported.
At any rate, this patch looks okay, if we can prove that the kernel really is giving us bogus information, and not just a case of us misreading things.
I will try to reach the guy to provide the additional information, but I'm afraid there's some issue with the kernel numa topology reporting.
-- libvir-list mailing list libvir-list@redhat.com https://www.redhat.com/mailman/listinfo/libvir-list

On 10/23/12 17:07, Eric Blake wrote:
On 10/23/2012 06:40 AM, Peter Krempa wrote:
This patch adds a workaround for the cpu topology detection code if the kernel reports incorrect count of numa nodes or any other reason that might result in duplicate core ID's in one socket.
Do we know what versions of kernels have this bug? If it is still current, has this been opened as a bug report against the kernel?
The kernel version this happens in is 3.5.3-1.fc17.x86_64. You need a two socket AMD magny-cours machine. The problem might be that the kernel doesn't know about the topology due to hardware issues (not yet known) [...]
If you install the 'hwloc' package on the afflicted machine, can you then send us the file created by 'lstopo proc.png', so we can get a better feel for what the machine actually supports? Is it really a case of duplicate processor ids being mistakenly reported by the kernel, or more a case of us mis-reading sysfs and seeing duplicates because we aren't looking in enough other places?
At any rate, this patch looks okay, if we can prove that the kernel really is giving us bogus information, and not just a case of us misreading things.
Forwarding the response from George-Cristian Bîrzan who initialy reported that: George-Cristian has a bunch of identical machines where some report having 4 NUMA cells and some just 1: [...] I did it on two hosts, one with 1 NUMA cell, one with 4 (as I said before, they both only report 12 cores though): http://birzan.org/proc1.png http://birzan.org/proc4.png ------ I think we should take this patch as it resolves this case. The data reported by kernel looks OK and the kernel probably trusts that everything is OK. Peter

On 10/30/2012 05:07 AM, Peter Krempa wrote:
Forwarding the response from George-Cristian Bîrzan who initialy reported that:
George-Cristian has a bunch of identical machines where some report having 4 NUMA cells and some just 1:
[...]
I did it on two hosts, one with 1 NUMA cell, one with 4 (as I said before, they both only report 12 cores though):
Both bitmaps show all 24 cores, so hwloc is able to read sysfs and determine the existence of 2 sockets with 12 nodes each, and where the 12 nodes are numbered 0-5 twice according to which bank of cache they are tied to. Which version of libvirt is this tested on where libvirt was only reporting 12 cores, because I thought we already patched that with commit 80533ca in 0.10.0. That is, I think proc1.png should result in: $ virsh nodeinfo CPU model: x86_64 CPU(s): 24 CPU frequency: 2200 MHz CPU socket(s): 2 Core(s) per socket: 12 Thread(s) per core: 1 NUMA cell(s): 1 Memory size: 8047272 KiB and proc4.png would _ideally_ result in: $ virsh nodeinfo CPU model: x86_64 CPU(s): 24 CPU frequency: 2200 MHz CPU socket(s): 2 Core(s) per socket: 12 Thread(s) per core: 1 NUMA cell(s): 4 Memory size: 8047272 KiB except that virNodeGetInfo() is constrained by backwards compatibility to report 'nodes' == 1 on situations where sockets per node is not integral (and here, half a socket per node is not integral), so it _actually_ would give the same data as proc1.png.
------
I think we should take this patch as it resolves this case. The data reported by kernel looks OK and the kernel probably trusts that everything is OK.
At any rate, I'm looking again at the patch, and the proposed linux-test7/node data indeed shows a single NUMA cell with 24 cores (matching up to the proc1.png image). I think the CPU _is_ reporting the complete NUMA topology through sysfs, but that we are probably consolidating information from the wrong files and therefore getting confused. I guess I need to install the linux-test7 files, then step through the code to see what is actually happening. Also, what does the 'virsh capabilities' report for the <topology> section? Whereas 'virsh nodeinfo' is constrained by back-compat to give a lame answer for number of NUMA cells, at least 'virsh capabilities' should be showing a reasonable representation of the machine's topology. -- Eric Blake eblake@redhat.com +1-919-301-3266 Libvirt virtualization library http://libvirt.org

On 10/30/12 21:08, Eric Blake wrote:
On 10/30/2012 05:07 AM, Peter Krempa wrote:
Forwarding the response from George-Cristian Bîrzan who initialy reported that:
George-Cristian has a bunch of identical machines where some report having 4 NUMA cells and some just 1:
[...]
I did it on two hosts, one with 1 NUMA cell, one with 4 (as I said before, they both only report 12 cores though):
Both bitmaps show all 24 cores, so hwloc is able to read sysfs and determine the existence of 2 sockets with 12 nodes each, and where the 12 nodes are numbered 0-5 twice according to which bank of cache they are tied to. Which version of libvirt is this tested on where libvirt was only reporting 12 cores, because I thought we already patched that with commit 80533ca in 0.10.0. That is, I think proc1.png should result in:
Version of libvirt in case of proc1.png is 0.10.2 from fedora 17.
$ virsh nodeinfo CPU model: x86_64 CPU(s): 24 CPU frequency: 2200 MHz CPU socket(s): 2 Core(s) per socket: 12 Thread(s) per core: 1 NUMA cell(s): 1 Memory size: 8047272 KiB
Yes, that's what we should report in this case. The problem here is that (as the hardware topology is identical to the second image in fact) some of the cores have duplicate ID's and we are not able to detect that correctly. We would need a third level of hierarchy, where we would detect trheads to be able to detect dupicate id's in a perfect manner.
and proc4.png would _ideally_ result in:
$ virsh nodeinfo CPU model: x86_64 CPU(s): 24 CPU frequency: 2200 MHz CPU socket(s): 2 Core(s) per socket: 12 Thread(s) per core: 1 NUMA cell(s): 4 Memory size: 8047272 KiB
Unfortunately, the output is : number of NUMA nodes, number of sockeds per NUMA node, number of cores per socked and number of threads per core. So the correct output should be: 4 nodes, 1 socket, 6 cores, 1 thread
except that virNodeGetInfo() is constrained by backwards compatibility to report 'nodes' == 1 on situations where sockets per node is not integral (and here, half a socket per node is not integral), so it _actually_ would give the same data as proc1.png.
or we can use this when somebody is providing inaccurate information.
------
I think we should take this patch as it resolves this case. The data reported by kernel looks OK and the kernel probably trusts that everything is OK.
At any rate, I'm looking again at the patch, and the proposed linux-test7/node data indeed shows a single NUMA cell with 24 cores (matching up to the proc1.png image).
I think the CPU _is_ reporting the complete NUMA topology through sysfs, but that we are probably consolidating information from the wrong files and therefore getting confused.
It is, but there's a problem on other levels as the machine should be identical to the one with 4 nodes. But the problem might be in the machine firmware or a ton of other places.
I guess I need to install the linux-test7 files, then step through the code to see what is actually happening.
To do this, you just need to patch one line in nodeinfo.c that defines the default path. That's the way I'm doing it while testing.
Also, what does the 'virsh capabilities' report for the <topology> section? Whereas 'virsh nodeinfo' is constrained by back-compat to give a lame answer for number of NUMA cells, at least 'virsh capabilities' should be showing a reasonable representation of the machine's topology.
capabilities were showing the topology as described in the picture although it's not correct on that level either. Peter

On Tue, Oct 30, 2012 at 10:08 PM, Eric Blake <eblake@redhat.com> wrote:
Both bitmaps show all 24 cores, so hwloc is able to read sysfs and determine the existence of 2 sockets with 12 nodes each, and where the 12 nodes are numbered 0-5 twice according to which bank of cache they are tied to. Which version of libvirt is this tested on where libvirt was only reporting 12 cores, because I thought we already patched that with commit 80533ca in 0.10.0. That is, I think proc1.png should result in:
$ virsh nodeinfo CPU model: x86_64 CPU(s): 24 CPU frequency: 2200 MHz CPU socket(s): 2 Core(s) per socket: 12 Thread(s) per core: 1 NUMA cell(s): 1 Memory size: 8047272 KiB
(Just for clarity, I am the original reporter, sorry I couldn't answer earlier, I subscribed to the list too late and didn't want to break the thread) On the host with 1 NUMA cell, with libvrit 0.10.2 I get: [root@host29 ~]# virsh nodeinfo CPU model: x86_64 CPU(s): 24 CPU frequency: 2200 MHz CPU socket(s): 2 Core(s) per socket: 6 Thread(s) per core: 1 NUMA cell(s): 1 Memory size: 131971548 KiB Furthermore, to answer the question at the bottom of your email, http://birzan.org/capabilities1.txt has this info.
and proc4.png would _ideally_ result in:
$ virsh nodeinfo CPU model: x86_64 CPU(s): 24 CPU frequency: 2200 MHz CPU socket(s): 2 Core(s) per socket: 12 Thread(s) per core: 1 NUMA cell(s): 4 Memory size: 8047272 KiB
[root@host34 ~]# virsh nodeinfo CPU model: x86_64 CPU(s): 24 CPU frequency: 2200 MHz CPU socket(s): 2 Core(s) per socket: 6 Thread(s) per core: 1 NUMA cell(s): 1 Memory size: 131971020 kB And http://birzan.org/capabilities4.txt This is on 0.9.11.5, on 0.10.2: [root@host34 libvirt]# virsh nodeinfo CPU model: x86_64 CPU(s): 24 CPU frequency: 2200 MHz CPU socket(s): 1 Core(s) per socket: 6 Thread(s) per core: 1 NUMA cell(s): 4 Memory size: 131971020 KiB and http://birzan.org/capabilities4-newlibvirt.txt This has made the problem even worse, as we now can only use 6 cores out of 24 by default (libvirt pins qemus to the CPUs is sees available, so we have to manually taskset them after starting).
I think the CPU _is_ reporting the complete NUMA topology through sysfs, but that we are probably consolidating information from the wrong files and therefore getting confused.
The sysfs is tarred up in http://birzan.org/sysdevicessystem.tar.gz for host29 (the one with 1 numa cell in capabilities) and http://birzan.org/sysdevicessystem-34.tar.gz
Also, what does the 'virsh capabilities' report for the <topology> section? Whereas 'virsh nodeinfo' is constrained by back-compat to give a lame answer for number of NUMA cells, at least 'virsh capabilities' should be showing a reasonable representation of the machine's topology.
I answered this above. If you need any more info, feel free to ask. -- George-Cristian Bîrzan

On Wed, Oct 31, 2012 at 4:50 PM, George-Cristian Bîrzan <gc@birzan.org>wrote:
on 0.10.2:
[root@host34 libvirt]# virsh nodeinfo CPU model: x86_64 CPU(s): 24 CPU frequency: 2200 MHz CPU socket(s): 1 Core(s) per socket: 6 Thread(s) per core: 1 NUMA cell(s): 4 Memory size: 131971020 KiB
and http://birzan.org/capabilities4-newlibvirt.txt
This has made the problem even worse, as we now can only use 6 cores out of 24 by default (libvirt pins qemus to the CPUs is sees available, so we have to manually taskset them after starting).
I should check before I let my mouth run. This actually fixed the problem, we now get all 24 CPUs: virsh # vcpuinfo 08867271-d458-43dc-8a03-807e83d107b4 VCPU: 0 CPU: 9 State: running CPU time: 1.3s CPU Affinity: yyyyyyyyyyyyyyyyyyyyyyyy To give you an example from the 'broken' host (still with 0.10.2): [root@host29 ~]# virsh vcpuinfo 17db9ebb-691b-47e1-bbf4-c9e3c1388d4f VCPU: 0 CPU: 3 State: running CPU time: 3103.2s CPU Affinity: yyyyyyyyyyyy VCPU: 1 CPU: 1 State: running CPU time: 3460.4s CPU Affinity: yyyyyyyyyyyy -- George-Cristian Bîrzan
participants (3)
-
Eric Blake
-
George-Cristian Bîrzan
-
Peter Krempa