[libvirt] libvirt can not get right stats of a rbd pool
by yue
Allocation exceed Capacity ,but Available is not 0.
#virsh pool-info 2361a6d4-0edc-3534-87ae-e7ee09199921
Name: 2361a6d4-0edc-3534-87ae-e7ee09199921
UUID: 2361a6d4-0edc-3534-87ae-e7ee09199921
State: running
Persistent: yes
Autostart: no
Capacity: 285.57 GiB
Allocation: 489.89 GiB
Available: 230.59 GiB
12 years
[libvirt] [PATCH] build: Fix RPM build for non-x86 platforms
by Viktor Mihajlovski
Make the post install script for the lock-sanlock package optional
to prevent break on non-x86 platforms.
Signed-off-by: Viktor Mihajlovski <mihajlov(a)linux.vnet.ibm.com>
---
libvirt.spec.in | 3 ++-
1 files changed, 2 insertions(+), 1 deletions(-)
diff --git a/libvirt.spec.in b/libvirt.spec.in
index 41d2628..f8ede3f 100644
--- a/libvirt.spec.in
+++ b/libvirt.spec.in
@@ -1568,12 +1568,13 @@ fi
/bin/systemctl try-restart libvirt-guests.service >/dev/null 2>&1 || :
%endif
+%if %{with_sanlock}
%post lock-sanlock
if getent group sanlock > /dev/null ; then
chmod 0770 %{_localstatedir}/lib/libvirt/sanlock
chown root:sanlock %{_localstatedir}/lib/libvirt/sanlock
fi
-
+%endif
%files
%defattr(-, root, root)
--
1.7.0.4
12 years
[libvirt] [PATCH] Don't assume pid_t is the same size as an int
by Daniel P. Berrange
From: "Daniel P. Berrange" <berrange(a)redhat.com>
virPidFileReadPathIfAlive passed in an 'int *' where a 'pid_t *'
was expected, which breaks on Mingw64 targets. Also a few places
were using '%d' for formatting pid_t, change them to '%lld' and
force a cast to the longer type as done elsewhere in the same
file.
Signed-off-by: Daniel P. Berrange <berrange(a)redhat.com>
---
src/util/virpidfile.c | 4 ++--
src/util/virprocess.c | 13 +++++++------
2 files changed, 9 insertions(+), 8 deletions(-)
diff --git a/src/util/virpidfile.c b/src/util/virpidfile.c
index cb8a992..90a79c5 100644
--- a/src/util/virpidfile.c
+++ b/src/util/virpidfile.c
@@ -206,7 +206,7 @@ int virPidFileReadPathIfAlive(const char *path,
pid_t *pid,
const char *binPath)
{
- int ret, retPid;
+ int ret;
bool isLink;
char *procPath = NULL;
char *procLink = NULL;
@@ -215,7 +215,7 @@ int virPidFileReadPathIfAlive(const char *path,
char *resolvedProcLink = NULL;
const char deletedText[] = " (deleted)";
size_t deletedTextLen = strlen(deletedText);
-
+ pid_t retPid;
/* only set this at the very end on success */
*pid = -1;
diff --git a/src/util/virprocess.c b/src/util/virprocess.c
index 4bb7ebc..f8a8a49 100644
--- a/src/util/virprocess.c
+++ b/src/util/virprocess.c
@@ -250,7 +250,7 @@ virProcessKillPainfully(pid_t pid, bool force)
int i, ret = -1;
const char *signame = "TERM";
- VIR_DEBUG("vpid=%d force=%d", pid, force);
+ VIR_DEBUG("vpid=%lld force=%d", (long long)pid, force);
/* This loop sends SIGTERM, then waits a few iterations (10 seconds)
* to see if it dies. If the process still hasn't exited, and
@@ -265,8 +265,8 @@ virProcessKillPainfully(pid_t pid, bool force)
if (i == 0) {
signum = SIGTERM; /* kindly suggest it should exit */
} else if ((i == 50) & force) {
- VIR_DEBUG("Timed out waiting after SIGTERM to process %d, "
- "sending SIGKILL", pid);
+ VIR_DEBUG("Timed out waiting after SIGTERM to process %lld, "
+ "sending SIGKILL", (long long)pid);
/* No SIGKILL kill on Win32 ! Use SIGABRT instead which our
* virProcessKill proc will handle more or less like SIGKILL */
#ifdef WIN32
@@ -283,8 +283,8 @@ virProcessKillPainfully(pid_t pid, bool force)
if (virProcessKill(pid, signum) < 0) {
if (errno != ESRCH) {
virReportSystemError(errno,
- _("Failed to terminate process %d with SIG%s"),
- pid, signame);
+ _("Failed to terminate process %lld with SIG%s"),
+ (long long)pid, signame);
goto cleanup;
}
ret = signum == SIGTERM ? 0 : 1;
@@ -294,7 +294,8 @@ virProcessKillPainfully(pid_t pid, bool force)
usleep(200 * 1000);
}
- VIR_DEBUG("Timed out waiting after SIGKILL to process %d", pid);
+ VIR_DEBUG("Timed out waiting after SIGKILL to process %lld",
+ (long long)pid);
cleanup:
return ret;
--
1.7.11.7
12 years
[libvirt] [PATCH] Fix arch detection for qemu-system-i386 with QMP
by Daniel P. Berrange
From: "Daniel P. Berrange" <berrange(a)redhat.com>
QEMU uses 'i386' for its 32-bit x86 architecture, but libvirt
wants that to be 'i686', so we must fix it up
Signed-off-by: Daniel P. Berrange <berrange(a)redhat.com>
---
src/qemu/qemu_capabilities.c | 8 ++++++++
1 file changed, 8 insertions(+)
diff --git a/src/qemu/qemu_capabilities.c b/src/qemu/qemu_capabilities.c
index 9f15162..271273c 100644
--- a/src/qemu/qemu_capabilities.c
+++ b/src/qemu/qemu_capabilities.c
@@ -2327,6 +2327,14 @@ qemuCapsInitQMP(qemuCapsPtr caps,
if (!(caps->arch = qemuMonitorGetTargetArch(mon)))
goto cleanup;
+ /* Map i386, i486, i586 to i686. */
+ if (caps->arch[0] == 'i' &&
+ caps->arch[1] != '\0' &&
+ caps->arch[2] == '8' &&
+ caps->arch[3] == '6' &&
+ caps->arch[4] == '\0')
+ caps->arch[1] = '6';
+
/* Currently only x86_64 and i686 support PCI-multibus. */
if (STREQLEN(caps->arch, "x86_64", 6) ||
STREQLEN(caps->arch, "i686", 4)) {
--
1.7.12.1
12 years
[libvirt] [PATCH 0/3] Use virNodeGetCPUMap where appropriate
by Viktor Mihajlovski
This series concludes the introduction of the virNodeGetCPUMap API
by replacing calls to virNodeGetInfo used only for the purpose
of computing the maximum number of node CPUs (which has the potential
to yield the incorrect number).
Most prominently, with patch 3/3 the output of virsh vcpuinfo will
now be correct for domains on hosts with offline CPUs
Viktor Mihajlovski (3):
qemu, lxc: Change host CPU detection logic.
python: Use virNodeGetCPUMap where possible
virsh: Use virNodeGetCPUMap if possible
python/libvirt-override.c | 100 ++++++++++++++++++++++++++++++++++------------
src/lxc/lxc_controller.c | 8 ++--
src/qemu/qemu_driver.c | 12 ++----
src/qemu/qemu_process.c | 10 ++---
tools/virsh-domain.c | 36 +++++++++++------
5 files changed, 108 insertions(+), 58 deletions(-)
--
1.7.12.4
12 years
[libvirt] Entering freeze for libvirt-1.0.0 release
by Daniel Veillard
As scheduled, we are entering freeze for 1.0.0, yay !
I have tagged the git tree and pushed libvirt-1.0.0-rc1.tar.gz release
candidate 1 to the ftp (along with rpms):
ftp://libvirt.org/libvirt/
Due to the slightly higher visibility of this release, we are giving
a bit more time for testing of the candidates, and the plan is to push
the final version at the end of next week, so expect an rc2 at the end
of the week and probably an rc3 by mid next week.
Give it a try and report,
thanks !
Daniel
--
Daniel Veillard | libxml Gnome XML XSLT toolkit http://xmlsoft.org/
daniel(a)veillard.com | Rpmfind RPM search engine http://rpmfind.net/
http://veillard.com/ | virtualization library http://libvirt.org/
12 years
[libvirt] [PATCH] docs: libvirtd no longer uses abstract namespace
by Eric Blake
Commit 905be03d2 quit using the abstract namespace, but didn't
update the --help text to match.
* daemon/libvirtd.c (daemonUsage): Correct socket listing.
---
See also:
https://www.redhat.com/archives/libvirt-users/2012-October/msg00152.html
daemon/libvirtd.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/daemon/libvirtd.c b/daemon/libvirtd.c
index d5f3e4c..624831a 100644
--- a/daemon/libvirtd.c
+++ b/daemon/libvirtd.c
@@ -936,7 +936,7 @@ libvirt management daemon:\n"), argv0);
$XDG_CONFIG_HOME/libvirt/libvirtd.conf\n\
\n\
Sockets:\n\
- $XDG_RUNTIME_DIR/libvirt/libvirt-sock (in UNIX abstract namespace)\n\
+ $XDG_RUNTIME_DIR/libvirt/libvirt-sock\n\
\n\
TLS:\n\
CA certificate: $HOME/.pki/libvirt/cacert.pem\n\
--
1.7.11.7
12 years
[libvirt] [PATCH] gitignore: Ignore 'tags'
by Michal Privoznik
---
.gitignore | 1 +
1 files changed, 1 insertions(+), 0 deletions(-)
diff --git a/.gitignore b/.gitignore
index 98ce398..79a055b 100644
--- a/.gitignore
+++ b/.gitignore
@@ -193,6 +193,7 @@ results.log
stamp-h
stamp-h.in
stamp-h1
+tags
!/gnulib/lib/Makefile.am
!/gnulib/tests/Makefile.am
!/m4/virt-*.m4
--
1.7.8.6
12 years
[libvirt] [PATCH] qemu: Fix EmulatorPinInfo without emulatorpin
by Martin Kletzander
https://bugzilla.redhat.com/show_bug.cgi?id=871312
Recent fixes made almost all the right steps to make emulator pinned
to the cpuset of the whole domain in case <emulatorpin> isn't
specified, but qemudDomainGetEmulatorPinInfo still reports all the
CPUs even when cpuset is specified. This patch fixes that.
---
src/qemu/qemu_driver.c | 10 +++++-----
1 file changed, 5 insertions(+), 5 deletions(-)
diff --git a/src/qemu/qemu_driver.c b/src/qemu/qemu_driver.c
index 3980c10..8b5f06a 100644
--- a/src/qemu/qemu_driver.c
+++ b/src/qemu/qemu_driver.c
@@ -4352,7 +4352,6 @@ qemudDomainGetEmulatorPinInfo(virDomainPtr dom,
virDomainDefPtr targetDef = NULL;
int ret = -1;
int maxcpu, hostcpus, pcpu;
- virDomainVcpuPinDefPtr emulatorpin = NULL;
virBitmapPtr cpumask = NULL;
bool pinned;
@@ -4394,14 +4393,15 @@ qemudDomainGetEmulatorPinInfo(virDomainPtr dom,
cpumaps[maplen - 1] &= (1 << maxcpu % 8) - 1;
}
- /* If no emulatorpin, all cpus should be used */
- emulatorpin = targetDef->cputune.emulatorpin;
- if (!emulatorpin) {
+ if (targetDef->cputune.emulatorpin) {
+ cpumask = targetDef->cputune.emulatorpin->cpumask;
+ } else if (targetDef->cpumask) {
+ cpumask = targetDef->cpumask;
+ } else {
ret = 0;
goto cleanup;
}
- cpumask = emulatorpin->cpumask;
for (pcpu = 0; pcpu < maxcpu; pcpu++) {
if (virBitmapGetBit(cpumask, pcpu, &pinned) < 0)
goto cleanup;
--
1.7.12.4
12 years
[libvirt] [PATCH] nodeinfo: Add workaround if kernel reports bogous numa topology.
by Peter Krempa
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
12 years