[libvirt] Serial connection between guests
by Marcelo Ricardo Leitner
Hi,
(I'm not subscribed to the list, please keep me on Cc)
I'm attempting to get a serial link between two guests, same hypervisor.
The only practical way I could find is to add a serial port using a pty
to a guest and then manually connecting to the serial (console in my
case) of the other guest using socat in the hypervisor.
Then it made me think.. we could have this implemented at libvirt level.
We could have a serial port on which we choose pty, udp, tcp, etc, and
also a serial port from another guest, so that libvirt would handle
socat start/stop automatically as both guests come up/down. Maybe
libvirt could even do something smarter than that, maybe it can avoid
socat somehow.
What do you think? My usage is for virtualizing TAHI:
http://networktest.sourceforge.net/usage.html
I need 2 ethernet links plus a serial one, which TAHI can't break while
running the tests.
I didn't think this regarding multi-platform & all.. just sharing the
idea/need.
Thanks,
Marcelo
9 years, 4 months
[libvirt] [PATCH] libxl: rework reference counting
by Jim Fehlig
Similar to commit 540c339a for the QEMU driver, rework reference
counting in the libxl driver to make it more deterministic and
the code a bit cleaner.
Signed-off-by: Jim Fehlig <jfehlig(a)suse.com>
---
I've been testing this patch on and off for a few weeks now using
libvirt-tck domain tests, local test scripts, and some manual tests
for good measure. I sent the patch to Anthony Perard (cc'd) nearly
two weeks ago for testing in his OpenStack+Xen+libvirt CI loop,
although I haven't received any feedback thus far. Also included
Martin in the cc since he encouraged this patch
https://www.redhat.com/archives/libvir-list/2015-April/msg00014.html
src/libxl/libxl_domain.c | 32 ++----
src/libxl/libxl_domain.h | 5 +-
src/libxl/libxl_driver.c | 274 ++++++++++++++++++--------------------------
src/libxl/libxl_migration.c | 6 +-
4 files changed, 128 insertions(+), 189 deletions(-)
diff --git a/src/libxl/libxl_domain.c b/src/libxl/libxl_domain.c
index 0652270..ce188ee 100644
--- a/src/libxl/libxl_domain.c
+++ b/src/libxl/libxl_domain.c
@@ -96,13 +96,12 @@ libxlDomainObjFreeJob(libxlDomainObjPrivatePtr priv)
#define LIBXL_JOB_WAIT_TIME (1000ull * 30)
/*
- * obj must be locked before calling, libxlDriverPrivatePtr must NOT be locked
+ * obj must be locked before calling
*
* This must be called by anything that will change the VM state
- * in any way
+ * in any way.
*
- * Upon successful return, the object will have its ref count increased,
- * successful calls must be followed by EndJob eventually
+ * Successful calls must eventually result in a call to EndJob.
*/
int
libxlDomainObjBeginJob(libxlDriverPrivatePtr driver ATTRIBUTE_UNUSED,
@@ -117,8 +116,6 @@ libxlDomainObjBeginJob(libxlDriverPrivatePtr driver ATTRIBUTE_UNUSED,
return -1;
then = now + LIBXL_JOB_WAIT_TIME;
- virObjectRef(obj);
-
while (priv->job.active) {
VIR_DEBUG("Wait normal job condition for starting job: %s",
libxlDomainJobTypeToString(job));
@@ -149,21 +146,16 @@ libxlDomainObjBeginJob(libxlDriverPrivatePtr driver ATTRIBUTE_UNUSED,
virReportSystemError(errno,
"%s", _("cannot acquire job mutex"));
- virObjectUnref(obj);
return -1;
}
/*
- * obj must be locked before calling
+ * obj must be locked and have a reference before calling
*
* To be called after completing the work associated with the
* earlier libxlDomainBeginJob() call
- *
- * Returns true if the remaining reference count on obj is
- * non-zero, false if the reference count has dropped to zero
- * and obj is disposed.
*/
-bool
+void
libxlDomainObjEndJob(libxlDriverPrivatePtr driver ATTRIBUTE_UNUSED,
virDomainObjPtr obj)
{
@@ -175,8 +167,6 @@ libxlDomainObjEndJob(libxlDriverPrivatePtr driver ATTRIBUTE_UNUSED,
libxlDomainObjResetJob(priv);
virCondSignal(&priv->job.cond);
-
- return virObjectUnref(obj);
}
static void *
@@ -485,12 +475,11 @@ libxlDomainShutdownThread(void *opaque)
}
endjob:
- if (!libxlDomainObjEndJob(driver, vm))
- vm = NULL;
+ libxlDomainObjEndJob(driver, vm);
cleanup:
- if (vm)
- virObjectUnlock(vm);
+ virObjectUnlock(vm);
+ virObjectUnref(vm);
if (dom_event)
libxlDomainEventQueue(driver, dom_event);
libxl_event_free(cfg->ctx, ev);
@@ -528,6 +517,7 @@ libxlDomainEventHandler(void *data, VIR_LIBXL_EVENT_CONST libxl_event *event)
VIR_INFO("Received event for unknown domain ID %d", event->domid);
goto error;
}
+ virObjectRef(vm);
/*
* Start a thread to handle shutdown. We don't want to be tying up
@@ -558,8 +548,10 @@ libxlDomainEventHandler(void *data, VIR_LIBXL_EVENT_CONST libxl_event *event)
/* Cast away any const */
libxl_event_free(cfg->ctx, (libxl_event *)event);
virObjectUnref(cfg);
- if (vm)
+ if (vm) {
virObjectUnlock(vm);
+ virObjectUnref(vm);
+ }
VIR_FREE(shutdown_info);
}
diff --git a/src/libxl/libxl_domain.h b/src/libxl/libxl_domain.h
index 8c73cc4..714ed91 100644
--- a/src/libxl/libxl_domain.h
+++ b/src/libxl/libxl_domain.h
@@ -83,10 +83,9 @@ libxlDomainObjBeginJob(libxlDriverPrivatePtr driver,
enum libxlDomainJob job)
ATTRIBUTE_RETURN_CHECK;
-bool
+void
libxlDomainObjEndJob(libxlDriverPrivatePtr driver,
- virDomainObjPtr obj)
- ATTRIBUTE_RETURN_CHECK;
+ virDomainObjPtr obj);
void
libxlDomainEventQueue(libxlDriverPrivatePtr driver,
diff --git a/src/libxl/libxl_driver.c b/src/libxl/libxl_driver.c
index a7be745..c0061b3 100644
--- a/src/libxl/libxl_driver.c
+++ b/src/libxl/libxl_driver.c
@@ -282,7 +282,7 @@ libxlDomObjFromDomain(virDomainPtr dom)
libxlDriverPrivatePtr driver = dom->conn->privateData;
char uuidstr[VIR_UUID_STRING_BUFLEN];
- vm = virDomainObjListFindByUUID(driver->domains, dom->uuid);
+ vm = virDomainObjListFindByUUIDRef(driver->domains, dom->uuid);
if (!vm) {
virUUIDFormat(dom->uuid, uuidstr);
virReportError(VIR_ERR_NO_DOMAIN,
@@ -294,6 +294,25 @@ libxlDomObjFromDomain(virDomainPtr dom)
return vm;
}
+/*
+ * Finish working with a domain object in an API. This function
+ * clears whatever was left of a domain that was gathered using
+ * libxlDomObjFromDomain(). Currently that means only unlocking and
+ * decrementing the reference counter of that domain. And in order to
+ * make sure the caller does not access the domain, the pointer is
+ * cleared.
+ */
+static void
+libxlDomObjEndAPI(virDomainObjPtr *vm)
+{
+ if (!*vm)
+ return;
+
+ virObjectUnlock(*vm);
+ virObjectUnref(*vm);
+ *vm = NULL;
+}
+
static int
libxlAutostartDomain(virDomainObjPtr vm,
void *opaque)
@@ -303,6 +322,7 @@ libxlAutostartDomain(virDomainObjPtr vm,
int ret = -1;
virObjectLock(vm);
+ virObjectRef(vm);
virResetLastError();
if (libxlDomainObjBeginJob(driver, vm, LIBXL_JOB_MODIFY) < 0) {
@@ -322,8 +342,10 @@ libxlAutostartDomain(virDomainObjPtr vm,
ret = 0;
endjob:
- if (libxlDomainObjEndJob(driver, vm))
- virObjectUnlock(vm);
+ libxlDomainObjEndJob(driver, vm);
+
+ virObjectUnlock(vm);
+ virObjectUnref(vm);
return ret;
}
@@ -908,19 +930,19 @@ libxlDomainCreateXML(virConnectPtr conn, const char *xml,
VIR_DOMAIN_OBJ_LIST_ADD_CHECK_LIVE,
NULL)))
goto cleanup;
+ virObjectRef(vm);
def = NULL;
if (libxlDomainObjBeginJob(driver, vm, LIBXL_JOB_MODIFY) < 0) {
- if (!vm->persistent) {
+ if (!vm->persistent)
virDomainObjListRemove(driver->domains, vm);
- vm = NULL;
- }
goto cleanup;
}
if (libxlDomainStart(driver, vm, (flags & VIR_DOMAIN_START_PAUSED) != 0,
-1) < 0) {
- virDomainObjListRemove(driver->domains, vm);
+ if (!vm->persistent)
+ virDomainObjListRemove(driver->domains, vm);
goto endjob;
}
@@ -929,13 +951,11 @@ libxlDomainCreateXML(virConnectPtr conn, const char *xml,
dom->id = vm->def->id;
endjob:
- if (!libxlDomainObjEndJob(driver, vm))
- vm = NULL;
+ libxlDomainObjEndJob(driver, vm);
cleanup:
virDomainDefFree(def);
- if (vm)
- virObjectUnlock(vm);
+ libxlDomObjEndAPI(&vm);
virObjectUnref(cfg);
return dom;
}
@@ -1060,12 +1080,10 @@ libxlDomainSuspend(virDomainPtr dom)
ret = 0;
endjob:
- if (!libxlDomainObjEndJob(driver, vm))
- vm = NULL;
+ libxlDomainObjEndJob(driver, vm);
cleanup:
- if (vm)
- virObjectUnlock(vm);
+ libxlDomObjEndAPI(&vm);
if (event)
libxlDomainEventQueue(driver, event);
virObjectUnref(cfg);
@@ -1117,12 +1135,10 @@ libxlDomainResume(virDomainPtr dom)
ret = 0;
endjob:
- if (!libxlDomainObjEndJob(driver, vm))
- vm = NULL;
+ libxlDomainObjEndJob(driver, vm);
cleanup:
- if (vm)
- virObjectUnlock(vm);
+ libxlDomObjEndAPI(&vm);
if (event)
libxlDomainEventQueue(driver, event);
virObjectUnref(cfg);
@@ -1183,8 +1199,7 @@ libxlDomainShutdownFlags(virDomainPtr dom, unsigned int flags)
}
cleanup:
- if (vm)
- virObjectUnlock(vm);
+ libxlDomObjEndAPI(&vm);
virObjectUnref(cfg);
return ret;
}
@@ -1232,8 +1247,7 @@ libxlDomainReboot(virDomainPtr dom, unsigned int flags)
}
cleanup:
- if (vm)
- virObjectUnlock(vm);
+ libxlDomObjEndAPI(&vm);
virObjectUnref(cfg);
return ret;
}
@@ -1281,12 +1295,10 @@ libxlDomainDestroyFlags(virDomainPtr dom,
ret = 0;
endjob:
- if (!libxlDomainObjEndJob(driver, vm))
- vm = NULL;
+ libxlDomainObjEndJob(driver, vm);
cleanup:
- if (vm)
- virObjectUnlock(vm);
+ libxlDomObjEndAPI(&vm);
if (event)
libxlDomainEventQueue(driver, event);
virObjectUnref(cfg);
@@ -1315,8 +1327,7 @@ libxlDomainGetOSType(virDomainPtr dom)
goto cleanup;
cleanup:
- if (vm)
- virObjectUnlock(vm);
+ libxlDomObjEndAPI(&vm);
return type;
}
@@ -1335,8 +1346,7 @@ libxlDomainGetMaxMemory(virDomainPtr dom)
ret = virDomainDefGetMemoryActual(vm->def);
cleanup:
- if (vm)
- virObjectUnlock(vm);
+ libxlDomObjEndAPI(&vm);
return ret;
}
@@ -1455,12 +1465,10 @@ libxlDomainSetMemoryFlags(virDomainPtr dom, unsigned long newmem,
ret = 0;
endjob:
- if (!libxlDomainObjEndJob(driver, vm))
- vm = NULL;
+ libxlDomainObjEndJob(driver, vm);
cleanup:
- if (vm)
- virObjectUnlock(vm);
+ libxlDomObjEndAPI(&vm);
virObjectUnref(cfg);
return ret;
}
@@ -1513,8 +1521,7 @@ libxlDomainGetInfo(virDomainPtr dom, virDomainInfoPtr info)
ret = 0;
cleanup:
- if (vm)
- virObjectUnlock(vm);
+ libxlDomObjEndAPI(&vm);
virObjectUnref(cfg);
return ret;
}
@@ -1540,8 +1547,7 @@ libxlDomainGetState(virDomainPtr dom,
ret = 0;
cleanup:
- if (vm)
- virObjectUnlock(vm);
+ libxlDomObjEndAPI(&vm);
return ret;
}
@@ -1638,7 +1644,6 @@ libxlDomainSaveFlags(virDomainPtr dom, const char *to, const char *dxml,
libxlDriverPrivatePtr driver = dom->conn->privateData;
virDomainObjPtr vm;
int ret = -1;
- bool remove_dom = false;
#ifdef LIBXL_HAVE_NO_SUSPEND_RESUME
virReportUnsupportedError();
@@ -1670,21 +1675,15 @@ libxlDomainSaveFlags(virDomainPtr dom, const char *to, const char *dxml,
goto endjob;
if (!vm->persistent)
- remove_dom = true;
+ virDomainObjListRemove(driver->domains, vm);
ret = 0;
endjob:
- if (!libxlDomainObjEndJob(driver, vm))
- vm = NULL;
+ libxlDomainObjEndJob(driver, vm);
cleanup:
- if (remove_dom && vm) {
- virDomainObjListRemove(driver->domains, vm);
- vm = NULL;
- }
- if (vm)
- virObjectUnlock(vm);
+ libxlDomObjEndAPI(&vm);
return ret;
}
@@ -1735,10 +1734,8 @@ libxlDomainRestoreFlags(virConnectPtr conn, const char *from,
def = NULL;
if (libxlDomainObjBeginJob(driver, vm, LIBXL_JOB_MODIFY) < 0) {
- if (!vm->persistent) {
+ if (!vm->persistent)
virDomainObjListRemove(driver->domains, vm);
- vm = NULL;
- }
goto cleanup;
}
@@ -1746,15 +1743,13 @@ libxlDomainRestoreFlags(virConnectPtr conn, const char *from,
if (ret < 0 && !vm->persistent)
virDomainObjListRemove(driver->domains, vm);
- if (!libxlDomainObjEndJob(driver, vm))
- vm = NULL;
+ libxlDomainObjEndJob(driver, vm);
cleanup:
if (VIR_CLOSE(fd) < 0)
virReportSystemError(errno, "%s", _("cannot close file"));
virDomainDefFree(def);
- if (vm)
- virObjectUnlock(vm);
+ libxlDomObjEndAPI(&vm);
virObjectUnref(cfg);
return ret;
}
@@ -1772,7 +1767,6 @@ libxlDomainCoreDump(virDomainPtr dom, const char *to, unsigned int flags)
libxlDriverConfigPtr cfg = libxlDriverConfigGet(driver);
virDomainObjPtr vm;
virObjectEventPtr event = NULL;
- bool remove_dom = false;
bool paused = false;
int ret = -1;
@@ -1828,7 +1822,7 @@ libxlDomainCoreDump(virDomainPtr dom, const char *to, unsigned int flags)
event = virDomainEventLifecycleNewFromObj(vm, VIR_DOMAIN_EVENT_STOPPED,
VIR_DOMAIN_EVENT_STOPPED_CRASHED);
if (!vm->persistent)
- remove_dom = true;
+ virDomainObjListRemove(driver->domains, vm);
}
ret = 0;
@@ -1846,16 +1840,10 @@ libxlDomainCoreDump(virDomainPtr dom, const char *to, unsigned int flags)
}
endjob:
- if (!libxlDomainObjEndJob(driver, vm))
- vm = NULL;
+ libxlDomainObjEndJob(driver, vm);
cleanup:
- if (remove_dom && vm) {
- virDomainObjListRemove(driver->domains, vm);
- vm = NULL;
- }
- if (vm)
- virObjectUnlock(vm);
+ libxlDomObjEndAPI(&vm);
if (event)
libxlDomainEventQueue(driver, event);
virObjectUnref(cfg);
@@ -1869,7 +1857,6 @@ libxlDomainManagedSave(virDomainPtr dom, unsigned int flags)
virDomainObjPtr vm = NULL;
char *name = NULL;
int ret = -1;
- bool remove_dom = false;
virCheckFlags(0, -1);
@@ -1902,21 +1889,15 @@ libxlDomainManagedSave(virDomainPtr dom, unsigned int flags)
goto endjob;
if (!vm->persistent)
- remove_dom = true;
+ virDomainObjListRemove(driver->domains, vm);
ret = 0;
endjob:
- if (!libxlDomainObjEndJob(driver, vm))
- vm = NULL;
+ libxlDomainObjEndJob(driver, vm);
cleanup:
- if (remove_dom && vm) {
- virDomainObjListRemove(driver->domains, vm);
- vm = NULL;
- }
- if (vm)
- virObjectUnlock(vm);
+ libxlDomObjEndAPI(&vm);
VIR_FREE(name);
return ret;
}
@@ -1960,8 +1941,7 @@ libxlDomainHasManagedSaveImage(virDomainPtr dom, unsigned int flags)
ret = vm->hasManagedSave;
cleanup:
- if (vm)
- virObjectUnlock(vm);
+ libxlDomObjEndAPI(&vm);
return ret;
}
@@ -1990,8 +1970,7 @@ libxlDomainManagedSaveRemove(virDomainPtr dom, unsigned int flags)
cleanup:
VIR_FREE(name);
- if (vm)
- virObjectUnlock(vm);
+ libxlDomObjEndAPI(&vm);
return ret;
}
@@ -2119,13 +2098,11 @@ libxlDomainSetVcpusFlags(virDomainPtr dom, unsigned int nvcpus,
ret = virDomainSaveConfig(cfg->configDir, def);
endjob:
- if (!libxlDomainObjEndJob(driver, vm))
- vm = NULL;
+ libxlDomainObjEndJob(driver, vm);
cleanup:
VIR_FREE(bitmask);
- if (vm)
- virObjectUnlock(vm);
+ libxlDomObjEndAPI(&vm);
virObjectUnref(cfg);
return ret;
}
@@ -2187,8 +2164,7 @@ libxlDomainGetVcpusFlags(virDomainPtr dom, unsigned int flags)
ret = (flags & VIR_DOMAIN_VCPU_MAXIMUM) ? def->maxvcpus : def->vcpus;
cleanup:
- if (vm)
- virObjectUnlock(vm);
+ libxlDomObjEndAPI(&vm);
return ret;
}
@@ -2270,12 +2246,10 @@ libxlDomainPinVcpuFlags(virDomainPtr dom, unsigned int vcpu,
}
endjob:
- if (!libxlDomainObjEndJob(driver, vm))
- vm = NULL;
+ libxlDomainObjEndJob(driver, vm);
cleanup:
- if (vm)
- virObjectUnlock(vm);
+ libxlDomObjEndAPI(&vm);
virBitmapFree(pcpumap);
virObjectUnref(cfg);
return ret;
@@ -2354,8 +2328,7 @@ libxlDomainGetVcpuPinInfo(virDomainPtr dom, int ncpumaps,
cleanup:
virBitmapFree(allcpumap);
- if (vm)
- virObjectUnlock(vm);
+ libxlDomObjEndAPI(&vm);
virObjectUnref(cfg);
return ret;
}
@@ -2418,8 +2391,7 @@ libxlDomainGetVcpus(virDomainPtr dom, virVcpuInfoPtr info, int maxinfo,
ret = maxinfo;
cleanup:
- if (vm)
- virObjectUnlock(vm);
+ libxlDomObjEndAPI(&vm);
virObjectUnref(cfg);
return ret;
}
@@ -2442,8 +2414,7 @@ libxlDomainGetXMLDesc(virDomainPtr dom, unsigned int flags)
virDomainDefFormatConvertXMLFlags(flags));
cleanup:
- if (vm)
- virObjectUnlock(vm);
+ libxlDomObjEndAPI(&vm);
return ret;
}
@@ -2618,12 +2589,10 @@ libxlDomainCreateWithFlags(virDomainPtr dom,
dom->id = vm->def->id;
endjob:
- if (!libxlDomainObjEndJob(driver, vm))
- vm = NULL;
+ libxlDomainObjEndJob(driver, vm);
cleanup:
- if (vm)
- virObjectUnlock(vm);
+ libxlDomObjEndAPI(&vm);
return ret;
}
@@ -2760,8 +2729,7 @@ libxlDomainUndefineFlags(virDomainPtr dom,
cleanup:
VIR_FREE(name);
- if (vm)
- virObjectUnlock(vm);
+ libxlDomObjEndAPI(&vm);
if (event)
libxlDomainEventQueue(driver, event);
virObjectUnref(cfg);
@@ -3618,14 +3586,12 @@ libxlDomainAttachDeviceFlags(virDomainPtr dom, const char *xml,
}
endjob:
- if (!libxlDomainObjEndJob(driver, vm))
- vm = NULL;
+ libxlDomainObjEndJob(driver, vm);
cleanup:
virDomainDefFree(vmdef);
virDomainDeviceDefFree(dev);
- if (vm)
- virObjectUnlock(vm);
+ libxlDomObjEndAPI(&vm);
virObjectUnref(cfg);
return ret;
}
@@ -3726,14 +3692,12 @@ libxlDomainDetachDeviceFlags(virDomainPtr dom, const char *xml,
}
endjob:
- if (!libxlDomainObjEndJob(driver, vm))
- vm = NULL;
+ libxlDomainObjEndJob(driver, vm);
cleanup:
virDomainDefFree(vmdef);
virDomainDeviceDefFree(dev);
- if (vm)
- virObjectUnlock(vm);
+ libxlDomObjEndAPI(&vm);
virObjectUnref(cfg);
return ret;
}
@@ -3833,8 +3797,7 @@ libxlDomainUpdateDeviceFlags(virDomainPtr dom, const char *xml,
cleanup:
virDomainDefFree(vmdef);
virDomainDeviceDefFree(dev);
- if (vm)
- virObjectUnlock(vm);
+ libxlDomObjEndAPI(&vm);
virObjectUnref(cfg);
return ret;
}
@@ -3964,8 +3927,7 @@ libxlDomainGetAutostart(virDomainPtr dom, int *autostart)
ret = 0;
cleanup:
- if (vm)
- virObjectUnlock(vm);
+ libxlDomObjEndAPI(&vm);
return ret;
}
@@ -4029,14 +3991,12 @@ libxlDomainSetAutostart(virDomainPtr dom, int autostart)
ret = 0;
endjob:
- if (!libxlDomainObjEndJob(driver, vm))
- vm = NULL;
+ libxlDomainObjEndJob(driver, vm);
cleanup:
VIR_FREE(configFile);
VIR_FREE(autostartLink);
- if (vm)
- virObjectUnlock(vm);
+ libxlDomObjEndAPI(&vm);
virObjectUnref(cfg);
return ret;
}
@@ -4091,8 +4051,7 @@ libxlDomainGetSchedulerType(virDomainPtr dom, int *nparams)
ignore_value(VIR_STRDUP(ret, name));
cleanup:
- if (vm)
- virObjectUnlock(vm);
+ libxlDomObjEndAPI(&vm);
virObjectUnref(cfg);
return ret;
}
@@ -4157,8 +4116,7 @@ libxlDomainGetSchedulerParametersFlags(virDomainPtr dom,
ret = 0;
cleanup:
- if (vm)
- virObjectUnlock(vm);
+ libxlDomObjEndAPI(&vm);
virObjectUnref(cfg);
return ret;
}
@@ -4241,12 +4199,10 @@ libxlDomainSetSchedulerParametersFlags(virDomainPtr dom,
ret = 0;
endjob:
- if (!libxlDomainObjEndJob(driver, vm))
- vm = NULL;
+ libxlDomainObjEndJob(driver, vm);
cleanup:
- if (vm)
- virObjectUnlock(vm);
+ libxlDomObjEndAPI(&vm);
virObjectUnref(cfg);
return ret;
}
@@ -4316,8 +4272,7 @@ libxlDomainOpenConsole(virDomainPtr dom,
}
cleanup:
- if (vm)
- virObjectUnlock(vm);
+ libxlDomObjEndAPI(&vm);
return ret;
}
@@ -4452,8 +4407,7 @@ libxlDomainGetNumaParameters(virDomainPtr dom,
VIR_FREE(nodeset);
virBitmapFree(nodes);
libxl_bitmap_dispose(&nodemap);
- if (vm)
- virObjectUnlock(vm);
+ libxlDomObjEndAPI(&vm);
virObjectUnref(cfg);
return ret;
}
@@ -4474,8 +4428,7 @@ libxlDomainIsActive(virDomainPtr dom)
ret = virDomainObjIsActive(obj);
cleanup:
- if (obj)
- virObjectUnlock(obj);
+ libxlDomObjEndAPI(&obj);
return ret;
}
@@ -4494,8 +4447,7 @@ libxlDomainIsPersistent(virDomainPtr dom)
ret = obj->persistent;
cleanup:
- if (obj)
- virObjectUnlock(obj);
+ libxlDomObjEndAPI(&obj);
return ret;
}
@@ -4514,8 +4466,7 @@ libxlDomainIsUpdated(virDomainPtr dom)
ret = vm->updated;
cleanup:
- if (vm)
- virObjectUnlock(vm);
+ libxlDomObjEndAPI(&vm);
return ret;
}
@@ -4780,6 +4731,7 @@ libxlDomainMigrateBegin3Params(virDomainPtr domain,
{
const char *xmlin = NULL;
virDomainObjPtr vm = NULL;
+ char *ret = NULL;
#ifdef LIBXL_HAVE_NO_SUSPEND_RESUME
virReportUnsupportedError();
@@ -4798,19 +4750,20 @@ libxlDomainMigrateBegin3Params(virDomainPtr domain,
if (!(vm = libxlDomObjFromDomain(domain)))
return NULL;
- if (virDomainMigrateBegin3ParamsEnsureACL(domain->conn, vm->def) < 0) {
- virObjectUnlock(vm);
- return NULL;
- }
+ if (virDomainMigrateBegin3ParamsEnsureACL(domain->conn, vm->def) < 0)
+ goto cleanup;
if (!virDomainObjIsActive(vm)) {
virReportError(VIR_ERR_OPERATION_INVALID,
"%s", _("domain is not running"));
- virObjectUnlock(vm);
- return NULL;
+ goto cleanup;
}
- return libxlDomainMigrationBegin(domain->conn, vm, xmlin);
+ ret = libxlDomainMigrationBegin(domain->conn, vm, xmlin);
+
+ cleanup:
+ libxlDomObjEndAPI(&vm);
+ return ret;
}
static int
@@ -4919,8 +4872,7 @@ libxlDomainMigratePerform3Params(virDomainPtr dom,
ret = 0;
cleanup:
- if (vm)
- virObjectUnlock(vm);
+ libxlDomObjEndAPI(&vm);
return ret;
}
@@ -4963,23 +4915,20 @@ libxlDomainMigrateFinish3Params(virConnectPtr dconn,
NULLSTR(dname));
return NULL;
}
+ virObjectRef(vm);
- if (virDomainMigrateFinish3ParamsEnsureACL(dconn, vm->def) < 0) {
- virDomainObjEndAPI(&vm);
- return NULL;
- }
+ if (virDomainMigrateFinish3ParamsEnsureACL(dconn, vm->def) < 0)
+ goto cleanup;
- if (libxlDomainObjBeginJob(driver, vm, LIBXL_JOB_MODIFY) < 0) {
- virDomainObjEndAPI(&vm);
- return NULL;
- }
+ if (libxlDomainObjBeginJob(driver, vm, LIBXL_JOB_MODIFY) < 0)
+ goto cleanup;
ret = libxlDomainMigrationFinish(dconn, vm, flags, cancelled);
- if (!libxlDomainObjEndJob(driver, vm))
- vm = NULL;
+ libxlDomainObjEndJob(driver, vm);
- virDomainObjEndAPI(&vm);
+ cleanup:
+ libxlDomObjEndAPI(&vm);
return ret;
}
@@ -4995,6 +4944,7 @@ libxlDomainMigrateConfirm3Params(virDomainPtr domain,
{
libxlDriverPrivatePtr driver = domain->conn->privateData;
virDomainObjPtr vm = NULL;
+ int ret = -1;
#ifdef LIBXL_HAVE_NO_SUSPEND_RESUME
virReportUnsupportedError();
@@ -5008,12 +4958,14 @@ libxlDomainMigrateConfirm3Params(virDomainPtr domain,
if (!(vm = libxlDomObjFromDomain(domain)))
return -1;
- if (virDomainMigrateConfirm3ParamsEnsureACL(domain->conn, vm->def) < 0) {
- virObjectUnlock(vm);
- return -1;
- }
+ if (virDomainMigrateConfirm3ParamsEnsureACL(domain->conn, vm->def) < 0)
+ goto cleanup;
- return libxlDomainMigrationConfirm(driver, vm, flags, cancelled);
+ ret = libxlDomainMigrationConfirm(driver, vm, flags, cancelled);
+
+ cleanup:
+ libxlDomObjEndAPI(&vm);
+ return ret;
}
static int libxlNodeGetSecurityModel(virConnectPtr conn,
diff --git a/src/libxl/libxl_migration.c b/src/libxl/libxl_migration.c
index 39e4a65..665b21a 100644
--- a/src/libxl/libxl_migration.c
+++ b/src/libxl/libxl_migration.c
@@ -257,13 +257,9 @@ libxlDomainMigrationBegin(virConnectPtr conn,
xml = virDomainDefFormat(def, VIR_DOMAIN_DEF_FORMAT_SECURE);
endjob:
- if (!libxlDomainObjEndJob(driver, vm))
- vm = NULL;
+ libxlDomainObjEndJob(driver, vm);
cleanup:
- if (vm)
- virObjectUnlock(vm);
-
virDomainDefFree(tmpdef);
virObjectUnref(cfg);
return xml;
--
2.3.7
9 years, 4 months
[libvirt] [PATCH v2] Fix qemu-nbd cleanup crashes
by Cédric Bosdonnat
The virLXCControllerAppendNBDPids function didn't properly initialize
pids and npids. In case of failure it was crashing when freeing those.
The nbd device pid file doesn't appear immediately after starting
qemu-nbd: adding a small loop to wait for it.
Diff to v1:
* Fixed a typo in a variable name.... working with several repos leads
to troubles ;)
---
src/lxc/lxc_controller.c | 19 +++++++++++++++++--
1 file changed, 17 insertions(+), 2 deletions(-)
diff --git a/src/lxc/lxc_controller.c b/src/lxc/lxc_controller.c
index 828b8a8..78d3eee 100644
--- a/src/lxc/lxc_controller.c
+++ b/src/lxc/lxc_controller.c
@@ -533,16 +533,31 @@ static int virLXCControllerAppendNBDPids(virLXCControllerPtr ctrl,
const char *dev)
{
char *pidpath = NULL;
- pid_t *pids;
- size_t npids;
+ pid_t *pids = NULL;
+ size_t npids = 0;
size_t i;
int ret = -1;
+ size_t loops = 0;
pid_t pid;
if (!STRPREFIX(dev, "/dev/") ||
virAsprintf(&pidpath, "/sys/devices/virtual/block/%s/pid", dev + 5) < 0)
goto cleanup;
+ /* Wait for the pid file to appear */
+ while (!virFileExists(pidpath)) {
+ /* wait for 100ms before checking again, but don't do it for ever */
+ if (errno == ENOENT && loop < 10) {
+ usleep(100 * 1000);
+ loop++;
+ } else {
+ virReportSystemError(errno,
+ _("Cannot check NBD device %s pid"),
+ dev + 5);
+ goto cleanup;
+ }
+ }
+
if (virPidFileReadPath(pidpath, &pid) < 0)
goto cleanup;
--
2.1.4
9 years, 4 months
[libvirt] [PATCH v2] qemu: process: Improve update of maximum baloon state at startup
by Peter Krempa
In commit 641a145d73fdc3dd9350fd57b3d3247abf101c05 I've added code that
resets the ballon memory value to full size prior to resuming the vCPUs
since the size certainly was not reduced at that point.
Since qemuProcess start is used also in code paths with already booted
up guests (migration, save/restore) the assumption is not entirely true
since the guest might already been running before.
This patch adds a function that queries the monitor rather than using
the full size since a balloon event would not be reissued in case we are
recovering a saved migration state.
Additionally the new function is used also when reconnecting to a VM
after libvirtd restart since we might have missed a few ballon events
while libvirtd was not running.
---
src/qemu/qemu_process.c | 38 +++++++++++++++++++++++++++++++++++++-
1 file changed, 37 insertions(+), 1 deletion(-)
diff --git a/src/qemu/qemu_process.c b/src/qemu/qemu_process.c
index ba84182..13b1696 100644
--- a/src/qemu/qemu_process.c
+++ b/src/qemu/qemu_process.c
@@ -2065,6 +2065,38 @@ qemuProcessReconnectRefreshChannelVirtioState(virQEMUDriverPtr driver,
static int
+qemuProcessRefreshBallonState(virQEMUDriverPtr driver,
+ virDomainObjPtr vm,
+ int asyncJob)
+{
+ unsigned long long balloon;
+ int rc;
+
+ /* if no balloning is available, the current size equals to the current
+ * full memory size */
+ if (!vm->def->memballoon ||
+ vm->def->memballoon->model == VIR_DOMAIN_MEMBALLOON_MODEL_NONE) {
+ vm->def->mem.cur_balloon = virDomainDefGetMemoryActual(vm->def);
+ return 0;
+ }
+
+ if (qemuDomainObjEnterMonitorAsync(driver, vm, asyncJob) < 0)
+ return -1;
+
+ rc = qemuMonitorGetBalloonInfo(qemuDomainGetMonitor(vm), &balloon);
+ if (qemuDomainObjExitMonitor(driver, vm) < 0)
+ rc = -1;
+
+ if (rc < 0)
+ return -1;
+
+ vm->def->mem.cur_balloon = balloon;
+
+ return 0;
+}
+
+
+static int
qemuProcessWaitForMonitor(virQEMUDriverPtr driver,
virDomainObjPtr vm,
int asyncJob,
@@ -3779,6 +3811,9 @@ qemuProcessReconnect(void *opaque)
if (qemuProcessReconnectRefreshChannelVirtioState(driver, obj) < 0)
goto error;
+ if (qemuProcessRefreshBallonState(driver, obj, QEMU_ASYNC_JOB_NONE) < 0)
+ goto error;
+
if (qemuProcessRecoverJob(driver, obj, conn, &oldjob) < 0)
goto error;
@@ -4922,7 +4957,8 @@ int qemuProcessStart(virConnectPtr conn,
/* Since CPUs were not started yet, the ballon could not return the memory
* to the host and thus cur_balloon needs to be updated so that GetXMLdesc
* and friends return the correct size in case they can't grab the job */
- vm->def->mem.cur_balloon = virDomainDefGetMemoryActual(vm->def);
+ if (qemuProcessRefreshBallonState(driver, vm, asyncJob) < 0)
+ goto cleanup;
VIR_DEBUG("Detecting actual memory size for video device");
if (qemuProcessUpdateVideoRamSize(driver, vm, asyncJob) < 0)
--
2.4.1
9 years, 4 months
[libvirt] [PATCH] qemuDomainSetNumaParamsLive:
by Michal Privoznik
https://bugzilla.redhat.com/show_bug.cgi?id=1232663
In one of my previous ptaches (bcd9a564) I've tried to fix the problem
that we blindly assumed strict NUMA mode for guests. This led to
several problems like us pinning a domain onto a nodeset via libnuma
among with CGroups. Once the nodeset was changed by user, well, it did
not result in desired effect. See the original commit for more info.
But, the commit I wrote had a bug: when NUMA parameters are changed on
a running domain we require domain to be strictly pinned onto a
nodeset. Due to a typo a condition was mis-evaluated.
Signed-off-by: Michal Privoznik <mprivozn(a)redhat.com>
---
src/qemu/qemu_driver.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/src/qemu/qemu_driver.c b/src/qemu/qemu_driver.c
index c8cbd57..8c705c4 100644
--- a/src/qemu/qemu_driver.c
+++ b/src/qemu/qemu_driver.c
@@ -9954,7 +9954,7 @@ qemuDomainSetNumaParamsLive(virDomainObjPtr vm,
size_t i = 0;
int ret = -1;
- if (virDomainNumatuneGetMode(vm->def->numa, -1, &mode) < 0 ||
+ if (virDomainNumatuneGetMode(vm->def->numa, -1, &mode) == 0 &&
mode != VIR_DOMAIN_NUMATUNE_MEM_STRICT) {
virReportError(VIR_ERR_OPERATION_INVALID, "%s",
_("change of nodeset for running domain "
--
2.3.6
9 years, 4 months
[libvirt] [PATCH 0/2] Check static route collisions
by Martin Kletzander
Martin Kletzander (2):
conf: Add getter for network routes
network: Add another collision check into networkCheckRouteCollision
src/conf/network_conf.c | 26 ++++++++++++++++++++++++++
src/conf/network_conf.h | 3 +++
src/libvirt_private.syms | 1 +
src/network/bridge_driver_linux.c | 29 +++++++++++++++++++++++++++++
4 files changed, 59 insertions(+)
--
2.4.5
9 years, 4 months
Re: [libvirt] Supporting remote connections to QEMU session mode
by Spencer Baugh
Eric Blake <eblake(a)redhat.com> writes:
> On 07/03/2015 12:01 AM, sbaugh(a)catern.com wrote:
>> Has there been any thought given to supporting remote connections to
>> QEMU session instances in virt-manager?
>> (i.e. qemu+ssh://hostname/session?socket=path) Manually hacking in the
>> URI with dconf seems to mostly work, but (for example) I quickly
>> encountered a bug when creating a VM where virt-manager assumed the only
>> usable storage pool was my *local* homedir instead of the remote
>> homedir.
>
> Libvirt does not (yet) allow remote connections to qemu://host/session.
> You'd first have to figure out how to patch libvirt to allow remote
> session connections; part of the problem is that with qemu:///system,
> there is a daemon running that is always listening for remote
> connections, but with qemu:///session, since libvirtd is only
> auto-started as needed, there is no easy way to guarantee that the
> remote machine is running a libvirtd process as the correct user.
>
>>
>> virsh and other tools support these connections just fine.
>
> No, virsh does NOT support remote session connections, at least not
> intentionally. If it works for you, it is a pure accident.
I'm not sure what you mean by "not support". Connecting to a
qemu+ssh://host/session?socket=path url works, and clearly some
thought has been put into it because if I leave off the socket argument,
I get this message:
@sbaugh@earth ~ $ virsh -c qemu+ssh://host/session
error: failed to connect to the hypervisor
error: Operation not supported: Connecting to session instance without
socket path is not supported by the ssh connection driver
which is created by this snippet of code:
/* Right now we don't support default session connections */
if (STREQ_NULLABLE(conn->uri->path, "/session")) {
virReportError(VIR_ERR_OPERATION_UNSUPPORTED, "%s",
_("Connecting to session instance without "
"socket path is not supported by the libssh2 "
"connection driver"));
goto failed;
}
which certainly suggests to me that *non*-default session connections
are supported. No patching is necessary to allow remote session
connections, they are implicitly allowed. That if statement could easily
disable them, but chose instead to allow them when they are sufficiently
specified to actually work.
All that aside, it's obvious that not much attention has been paid to
making remote session connections work well even in core libvirt. Is
improving the support for them something that is interesting to the
libvirt developers? Would patches to improve the support be accepted?
Well, I guess virt-tools-list isn't the list to discuss that, so I've
also CC'd libvirt-list. An explanation of why I want to use remote
connections to QEMU session mode is in the description of this bug:
https://bugzilla.redhat.com/show_bug.cgi?id=1241311
Thanks,
Spencer Baugh
9 years, 4 months
[libvirt] [PATCH] tests: Add nodeinfo test for non-present CPUs
by Andrea Bolognani
Some of the possible CPUs in a system might not be present, eg. they
might be defective or might have been deconfigured from the ASM console
in a Power system. Due to this fact, Linux keeps track of what CPUs are
possible and what are present separately.
This test uses the data from a system where not all the possible CPUs
are present to make sure libvirt handles this situation correctly.
---
This patch must be applied on top of John's series of nodeinfo
refactors, especially
[PATCH 9/9] nodeinfo: fix to parse present cpus rather than possible cpus
which introduces the very fix this new test case is meant to test.
.../linux-deconfigured-cpus/cpu/cpu0/online | 1 +
.../linux-deconfigured-cpus/cpu/cpu1/online | 1 +
.../linux-deconfigured-cpus/cpu/cpu10/online | 1 +
.../linux-deconfigured-cpus/cpu/cpu100/online | 1 +
.../linux-deconfigured-cpus/cpu/cpu101/online | 1 +
.../linux-deconfigured-cpus/cpu/cpu102/online | 1 +
.../linux-deconfigured-cpus/cpu/cpu103/online | 1 +
.../linux-deconfigured-cpus/cpu/cpu104/online | 1 +
.../cpu/cpu104/topology/core_id | 1 +
.../cpu/cpu104/topology/core_siblings | 1 +
.../cpu/cpu104/topology/core_siblings_list | 1 +
.../cpu/cpu104/topology/physical_package_id | 1 +
.../cpu/cpu104/topology/thread_siblings | 1 +
.../cpu/cpu104/topology/thread_siblings_list | 1 +
.../linux-deconfigured-cpus/cpu/cpu105/online | 1 +
.../linux-deconfigured-cpus/cpu/cpu106/online | 1 +
.../linux-deconfigured-cpus/cpu/cpu107/online | 1 +
.../linux-deconfigured-cpus/cpu/cpu108/online | 1 +
.../linux-deconfigured-cpus/cpu/cpu109/online | 1 +
.../linux-deconfigured-cpus/cpu/cpu11/online | 1 +
.../linux-deconfigured-cpus/cpu/cpu110/online | 1 +
.../linux-deconfigured-cpus/cpu/cpu111/online | 1 +
.../linux-deconfigured-cpus/cpu/cpu112/online | 1 +
.../cpu/cpu112/topology/core_id | 1 +
.../cpu/cpu112/topology/core_siblings | 1 +
.../cpu/cpu112/topology/core_siblings_list | 1 +
.../cpu/cpu112/topology/physical_package_id | 1 +
.../cpu/cpu112/topology/thread_siblings | 1 +
.../cpu/cpu112/topology/thread_siblings_list | 1 +
.../linux-deconfigured-cpus/cpu/cpu113/online | 1 +
.../linux-deconfigured-cpus/cpu/cpu114/online | 1 +
.../linux-deconfigured-cpus/cpu/cpu115/online | 1 +
.../linux-deconfigured-cpus/cpu/cpu116/online | 1 +
.../linux-deconfigured-cpus/cpu/cpu117/online | 1 +
.../linux-deconfigured-cpus/cpu/cpu118/online | 1 +
.../linux-deconfigured-cpus/cpu/cpu119/online | 1 +
.../linux-deconfigured-cpus/cpu/cpu12/online | 1 +
.../linux-deconfigured-cpus/cpu/cpu120/online | 1 +
.../cpu/cpu120/topology/core_id | 1 +
.../cpu/cpu120/topology/core_siblings | 1 +
.../cpu/cpu120/topology/core_siblings_list | 1 +
.../cpu/cpu120/topology/physical_package_id | 1 +
.../cpu/cpu120/topology/thread_siblings | 1 +
.../cpu/cpu120/topology/thread_siblings_list | 1 +
.../linux-deconfigured-cpus/cpu/cpu121/online | 1 +
.../linux-deconfigured-cpus/cpu/cpu122/online | 1 +
.../linux-deconfigured-cpus/cpu/cpu123/online | 1 +
.../linux-deconfigured-cpus/cpu/cpu124/online | 1 +
.../linux-deconfigured-cpus/cpu/cpu125/online | 1 +
.../linux-deconfigured-cpus/cpu/cpu126/online | 1 +
.../linux-deconfigured-cpus/cpu/cpu127/online | 1 +
.../linux-deconfigured-cpus/cpu/cpu128/online | 1 +
.../cpu/cpu128/topology/core_id | 1 +
.../cpu/cpu128/topology/core_siblings | 1 +
.../cpu/cpu128/topology/core_siblings_list | 1 +
.../cpu/cpu128/topology/physical_package_id | 1 +
.../cpu/cpu128/topology/thread_siblings | 1 +
.../cpu/cpu128/topology/thread_siblings_list | 1 +
.../linux-deconfigured-cpus/cpu/cpu129/online | 1 +
.../linux-deconfigured-cpus/cpu/cpu13/online | 1 +
.../linux-deconfigured-cpus/cpu/cpu130/online | 1 +
.../linux-deconfigured-cpus/cpu/cpu131/online | 1 +
.../linux-deconfigured-cpus/cpu/cpu132/online | 1 +
.../linux-deconfigured-cpus/cpu/cpu133/online | 1 +
.../linux-deconfigured-cpus/cpu/cpu134/online | 1 +
.../linux-deconfigured-cpus/cpu/cpu135/online | 1 +
.../linux-deconfigured-cpus/cpu/cpu136/online | 1 +
.../cpu/cpu136/topology/core_id | 1 +
.../cpu/cpu136/topology/core_siblings | 1 +
.../cpu/cpu136/topology/core_siblings_list | 1 +
.../cpu/cpu136/topology/physical_package_id | 1 +
.../cpu/cpu136/topology/thread_siblings | 1 +
.../cpu/cpu136/topology/thread_siblings_list | 1 +
.../linux-deconfigured-cpus/cpu/cpu137/online | 1 +
.../linux-deconfigured-cpus/cpu/cpu138/online | 1 +
.../linux-deconfigured-cpus/cpu/cpu139/online | 1 +
.../linux-deconfigured-cpus/cpu/cpu14/online | 1 +
.../linux-deconfigured-cpus/cpu/cpu140/online | 1 +
.../linux-deconfigured-cpus/cpu/cpu141/online | 1 +
.../linux-deconfigured-cpus/cpu/cpu142/online | 1 +
.../linux-deconfigured-cpus/cpu/cpu143/online | 1 +
.../linux-deconfigured-cpus/cpu/cpu144/online | 1 +
.../linux-deconfigured-cpus/cpu/cpu145/online | 1 +
.../linux-deconfigured-cpus/cpu/cpu146/online | 1 +
.../linux-deconfigured-cpus/cpu/cpu147/online | 1 +
.../linux-deconfigured-cpus/cpu/cpu148/online | 1 +
.../linux-deconfigured-cpus/cpu/cpu149/online | 1 +
.../linux-deconfigured-cpus/cpu/cpu15/online | 1 +
.../linux-deconfigured-cpus/cpu/cpu150/online | 1 +
.../linux-deconfigured-cpus/cpu/cpu151/online | 1 +
.../linux-deconfigured-cpus/cpu/cpu152/online | 1 +
.../linux-deconfigured-cpus/cpu/cpu153/online | 1 +
.../linux-deconfigured-cpus/cpu/cpu154/online | 1 +
.../linux-deconfigured-cpus/cpu/cpu155/online | 1 +
.../linux-deconfigured-cpus/cpu/cpu156/online | 1 +
.../linux-deconfigured-cpus/cpu/cpu157/online | 1 +
.../linux-deconfigured-cpus/cpu/cpu158/online | 1 +
.../linux-deconfigured-cpus/cpu/cpu159/online | 1 +
.../linux-deconfigured-cpus/cpu/cpu16/online | 1 +
.../cpu/cpu16/topology/core_id | 1 +
.../cpu/cpu16/topology/core_siblings | 1 +
.../cpu/cpu16/topology/core_siblings_list | 1 +
.../cpu/cpu16/topology/physical_package_id | 1 +
.../cpu/cpu16/topology/thread_siblings | 1 +
.../cpu/cpu16/topology/thread_siblings_list | 1 +
.../linux-deconfigured-cpus/cpu/cpu17/online | 1 +
.../linux-deconfigured-cpus/cpu/cpu18/online | 1 +
.../linux-deconfigured-cpus/cpu/cpu19/online | 1 +
.../linux-deconfigured-cpus/cpu/cpu2/online | 1 +
.../linux-deconfigured-cpus/cpu/cpu20/online | 1 +
.../linux-deconfigured-cpus/cpu/cpu21/online | 1 +
.../linux-deconfigured-cpus/cpu/cpu22/online | 1 +
.../linux-deconfigured-cpus/cpu/cpu23/online | 1 +
.../linux-deconfigured-cpus/cpu/cpu24/online | 1 +
.../cpu/cpu24/topology/core_id | 1 +
.../cpu/cpu24/topology/core_siblings | 1 +
.../cpu/cpu24/topology/core_siblings_list | 1 +
.../cpu/cpu24/topology/physical_package_id | 1 +
.../cpu/cpu24/topology/thread_siblings | 1 +
.../cpu/cpu24/topology/thread_siblings_list | 1 +
.../linux-deconfigured-cpus/cpu/cpu25/online | 1 +
.../linux-deconfigured-cpus/cpu/cpu26/online | 1 +
.../linux-deconfigured-cpus/cpu/cpu27/online | 1 +
.../linux-deconfigured-cpus/cpu/cpu28/online | 1 +
.../linux-deconfigured-cpus/cpu/cpu29/online | 1 +
.../linux-deconfigured-cpus/cpu/cpu3/online | 1 +
.../linux-deconfigured-cpus/cpu/cpu30/online | 1 +
.../linux-deconfigured-cpus/cpu/cpu31/online | 1 +
.../linux-deconfigured-cpus/cpu/cpu32/online | 1 +
.../linux-deconfigured-cpus/cpu/cpu33/online | 1 +
.../linux-deconfigured-cpus/cpu/cpu34/online | 1 +
.../linux-deconfigured-cpus/cpu/cpu35/online | 1 +
.../linux-deconfigured-cpus/cpu/cpu36/online | 1 +
.../linux-deconfigured-cpus/cpu/cpu37/online | 1 +
.../linux-deconfigured-cpus/cpu/cpu38/online | 1 +
.../linux-deconfigured-cpus/cpu/cpu39/online | 1 +
.../linux-deconfigured-cpus/cpu/cpu4/online | 1 +
.../linux-deconfigured-cpus/cpu/cpu40/online | 1 +
.../cpu/cpu40/topology/core_id | 1 +
.../cpu/cpu40/topology/core_siblings | 1 +
.../cpu/cpu40/topology/core_siblings_list | 1 +
.../cpu/cpu40/topology/physical_package_id | 1 +
.../cpu/cpu40/topology/thread_siblings | 1 +
.../cpu/cpu40/topology/thread_siblings_list | 1 +
.../linux-deconfigured-cpus/cpu/cpu41/online | 1 +
.../linux-deconfigured-cpus/cpu/cpu42/online | 1 +
.../linux-deconfigured-cpus/cpu/cpu43/online | 1 +
.../linux-deconfigured-cpus/cpu/cpu44/online | 1 +
.../linux-deconfigured-cpus/cpu/cpu45/online | 1 +
.../linux-deconfigured-cpus/cpu/cpu46/online | 1 +
.../linux-deconfigured-cpus/cpu/cpu47/online | 1 +
.../linux-deconfigured-cpus/cpu/cpu48/online | 1 +
.../cpu/cpu48/topology/core_id | 1 +
.../cpu/cpu48/topology/core_siblings | 1 +
.../cpu/cpu48/topology/core_siblings_list | 1 +
.../cpu/cpu48/topology/physical_package_id | 1 +
.../cpu/cpu48/topology/thread_siblings | 1 +
.../cpu/cpu48/topology/thread_siblings_list | 1 +
.../linux-deconfigured-cpus/cpu/cpu49/online | 1 +
.../linux-deconfigured-cpus/cpu/cpu5/online | 1 +
.../linux-deconfigured-cpus/cpu/cpu50/online | 1 +
.../linux-deconfigured-cpus/cpu/cpu51/online | 1 +
.../linux-deconfigured-cpus/cpu/cpu52/online | 1 +
.../linux-deconfigured-cpus/cpu/cpu53/online | 1 +
.../linux-deconfigured-cpus/cpu/cpu54/online | 1 +
.../linux-deconfigured-cpus/cpu/cpu55/online | 1 +
.../linux-deconfigured-cpus/cpu/cpu56/online | 1 +
.../linux-deconfigured-cpus/cpu/cpu57/online | 1 +
.../linux-deconfigured-cpus/cpu/cpu58/online | 1 +
.../linux-deconfigured-cpus/cpu/cpu59/online | 1 +
.../linux-deconfigured-cpus/cpu/cpu6/online | 1 +
.../linux-deconfigured-cpus/cpu/cpu60/online | 1 +
.../linux-deconfigured-cpus/cpu/cpu61/online | 1 +
.../linux-deconfigured-cpus/cpu/cpu62/online | 1 +
.../linux-deconfigured-cpus/cpu/cpu63/online | 1 +
.../linux-deconfigured-cpus/cpu/cpu64/online | 1 +
.../linux-deconfigured-cpus/cpu/cpu65/online | 1 +
.../linux-deconfigured-cpus/cpu/cpu66/online | 1 +
.../linux-deconfigured-cpus/cpu/cpu67/online | 1 +
.../linux-deconfigured-cpus/cpu/cpu68/online | 1 +
.../linux-deconfigured-cpus/cpu/cpu69/online | 1 +
.../linux-deconfigured-cpus/cpu/cpu7/online | 1 +
.../linux-deconfigured-cpus/cpu/cpu70/online | 1 +
.../linux-deconfigured-cpus/cpu/cpu71/online | 1 +
.../linux-deconfigured-cpus/cpu/cpu72/online | 1 +
.../cpu/cpu72/topology/core_id | 1 +
.../cpu/cpu72/topology/core_siblings | 1 +
.../cpu/cpu72/topology/core_siblings_list | 1 +
.../cpu/cpu72/topology/physical_package_id | 1 +
.../cpu/cpu72/topology/thread_siblings | 1 +
.../cpu/cpu72/topology/thread_siblings_list | 1 +
.../linux-deconfigured-cpus/cpu/cpu73/online | 1 +
.../linux-deconfigured-cpus/cpu/cpu74/online | 1 +
.../linux-deconfigured-cpus/cpu/cpu75/online | 1 +
.../linux-deconfigured-cpus/cpu/cpu76/online | 1 +
.../linux-deconfigured-cpus/cpu/cpu77/online | 1 +
.../linux-deconfigured-cpus/cpu/cpu78/online | 1 +
.../linux-deconfigured-cpus/cpu/cpu79/online | 1 +
.../linux-deconfigured-cpus/cpu/cpu8/online | 1 +
.../linux-deconfigured-cpus/cpu/cpu80/online | 1 +
.../linux-deconfigured-cpus/cpu/cpu81/online | 1 +
.../linux-deconfigured-cpus/cpu/cpu82/online | 1 +
.../linux-deconfigured-cpus/cpu/cpu83/online | 1 +
.../linux-deconfigured-cpus/cpu/cpu84/online | 1 +
.../linux-deconfigured-cpus/cpu/cpu85/online | 1 +
.../linux-deconfigured-cpus/cpu/cpu86/online | 1 +
.../linux-deconfigured-cpus/cpu/cpu87/online | 1 +
.../linux-deconfigured-cpus/cpu/cpu88/online | 1 +
.../linux-deconfigured-cpus/cpu/cpu89/online | 1 +
.../linux-deconfigured-cpus/cpu/cpu9/online | 1 +
.../linux-deconfigured-cpus/cpu/cpu90/online | 1 +
.../linux-deconfigured-cpus/cpu/cpu91/online | 1 +
.../linux-deconfigured-cpus/cpu/cpu92/online | 1 +
.../linux-deconfigured-cpus/cpu/cpu93/online | 1 +
.../linux-deconfigured-cpus/cpu/cpu94/online | 1 +
.../linux-deconfigured-cpus/cpu/cpu95/online | 1 +
.../linux-deconfigured-cpus/cpu/cpu96/online | 1 +
.../linux-deconfigured-cpus/cpu/cpu97/online | 1 +
.../linux-deconfigured-cpus/cpu/cpu98/online | 1 +
.../linux-deconfigured-cpus/cpu/cpu99/online | 1 +
.../linux-deconfigured-cpus/cpu/kernel_max | 1 +
.../linux-deconfigured-cpus/cpu/offline | 1 +
.../linux-deconfigured-cpus/cpu/online | 1 +
.../linux-deconfigured-cpus/cpu/possible | 1 +
.../linux-deconfigured-cpus/cpu/present | 1 +
.../linux-deconfigured-cpus/node/node0/meminfo | 29 ++++++++++++
.../linux-deconfigured-cpus/node/node1/meminfo | 29 ++++++++++++
.../linux-deconfigured-cpus/node/node16/meminfo | 29 ++++++++++++
.../linux-deconfigured-cpus/node/node17/meminfo | 29 ++++++++++++
.../linux-deconfigured-cpus/node/online | 1 +
.../linux-deconfigured-cpus/node/possible | 1 +
.../linux-ppc64-deconfigured-cpus.cpuinfo | 55 ++++++++++++++++++++++
.../linux-ppc64-deconfigured-cpus.expected | 1 +
tests/nodeinfotest.c | 1 +
234 files changed, 400 insertions(+)
create mode 100644 tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu0/online
create mode 100644 tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu1/online
create mode 100644 tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu10/online
create mode 100644 tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu100/online
create mode 100644 tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu101/online
create mode 100644 tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu102/online
create mode 100644 tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu103/online
create mode 100644 tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu104/online
create mode 100644 tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu104/topology/core_id
create mode 100644 tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu104/topology/core_siblings
create mode 100644 tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu104/topology/core_siblings_list
create mode 100644 tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu104/topology/physical_package_id
create mode 100644 tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu104/topology/thread_siblings
create mode 100644 tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu104/topology/thread_siblings_list
create mode 100644 tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu105/online
create mode 100644 tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu106/online
create mode 100644 tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu107/online
create mode 100644 tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu108/online
create mode 100644 tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu109/online
create mode 100644 tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu11/online
create mode 100644 tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu110/online
create mode 100644 tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu111/online
create mode 100644 tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu112/online
create mode 100644 tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu112/topology/core_id
create mode 100644 tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu112/topology/core_siblings
create mode 100644 tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu112/topology/core_siblings_list
create mode 100644 tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu112/topology/physical_package_id
create mode 100644 tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu112/topology/thread_siblings
create mode 100644 tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu112/topology/thread_siblings_list
create mode 100644 tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu113/online
create mode 100644 tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu114/online
create mode 100644 tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu115/online
create mode 100644 tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu116/online
create mode 100644 tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu117/online
create mode 100644 tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu118/online
create mode 100644 tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu119/online
create mode 100644 tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu12/online
create mode 100644 tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu120/online
create mode 100644 tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu120/topology/core_id
create mode 100644 tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu120/topology/core_siblings
create mode 100644 tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu120/topology/core_siblings_list
create mode 100644 tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu120/topology/physical_package_id
create mode 100644 tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu120/topology/thread_siblings
create mode 100644 tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu120/topology/thread_siblings_list
create mode 100644 tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu121/online
create mode 100644 tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu122/online
create mode 100644 tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu123/online
create mode 100644 tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu124/online
create mode 100644 tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu125/online
create mode 100644 tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu126/online
create mode 100644 tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu127/online
create mode 100644 tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu128/online
create mode 100644 tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu128/topology/core_id
create mode 100644 tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu128/topology/core_siblings
create mode 100644 tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu128/topology/core_siblings_list
create mode 100644 tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu128/topology/physical_package_id
create mode 100644 tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu128/topology/thread_siblings
create mode 100644 tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu128/topology/thread_siblings_list
create mode 100644 tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu129/online
create mode 100644 tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu13/online
create mode 100644 tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu130/online
create mode 100644 tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu131/online
create mode 100644 tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu132/online
create mode 100644 tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu133/online
create mode 100644 tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu134/online
create mode 100644 tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu135/online
create mode 100644 tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu136/online
create mode 100644 tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu136/topology/core_id
create mode 100644 tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu136/topology/core_siblings
create mode 100644 tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu136/topology/core_siblings_list
create mode 100644 tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu136/topology/physical_package_id
create mode 100644 tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu136/topology/thread_siblings
create mode 100644 tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu136/topology/thread_siblings_list
create mode 100644 tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu137/online
create mode 100644 tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu138/online
create mode 100644 tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu139/online
create mode 100644 tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu14/online
create mode 100644 tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu140/online
create mode 100644 tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu141/online
create mode 100644 tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu142/online
create mode 100644 tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu143/online
create mode 100644 tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu144/online
create mode 100644 tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu145/online
create mode 100644 tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu146/online
create mode 100644 tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu147/online
create mode 100644 tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu148/online
create mode 100644 tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu149/online
create mode 100644 tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu15/online
create mode 100644 tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu150/online
create mode 100644 tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu151/online
create mode 100644 tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu152/online
create mode 100644 tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu153/online
create mode 100644 tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu154/online
create mode 100644 tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu155/online
create mode 100644 tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu156/online
create mode 100644 tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu157/online
create mode 100644 tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu158/online
create mode 100644 tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu159/online
create mode 100644 tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu16/online
create mode 100644 tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu16/topology/core_id
create mode 100644 tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu16/topology/core_siblings
create mode 100644 tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu16/topology/core_siblings_list
create mode 100644 tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu16/topology/physical_package_id
create mode 100644 tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu16/topology/thread_siblings
create mode 100644 tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu16/topology/thread_siblings_list
create mode 100644 tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu17/online
create mode 100644 tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu18/online
create mode 100644 tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu19/online
create mode 100644 tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu2/online
create mode 100644 tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu20/online
create mode 100644 tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu21/online
create mode 100644 tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu22/online
create mode 100644 tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu23/online
create mode 100644 tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu24/online
create mode 100644 tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu24/topology/core_id
create mode 100644 tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu24/topology/core_siblings
create mode 100644 tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu24/topology/core_siblings_list
create mode 100644 tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu24/topology/physical_package_id
create mode 100644 tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu24/topology/thread_siblings
create mode 100644 tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu24/topology/thread_siblings_list
create mode 100644 tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu25/online
create mode 100644 tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu26/online
create mode 100644 tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu27/online
create mode 100644 tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu28/online
create mode 100644 tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu29/online
create mode 100644 tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu3/online
create mode 100644 tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu30/online
create mode 100644 tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu31/online
create mode 100644 tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu32/online
create mode 100644 tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu33/online
create mode 100644 tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu34/online
create mode 100644 tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu35/online
create mode 100644 tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu36/online
create mode 100644 tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu37/online
create mode 100644 tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu38/online
create mode 100644 tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu39/online
create mode 100644 tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu4/online
create mode 100644 tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu40/online
create mode 100644 tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu40/topology/core_id
create mode 100644 tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu40/topology/core_siblings
create mode 100644 tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu40/topology/core_siblings_list
create mode 100644 tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu40/topology/physical_package_id
create mode 100644 tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu40/topology/thread_siblings
create mode 100644 tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu40/topology/thread_siblings_list
create mode 100644 tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu41/online
create mode 100644 tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu42/online
create mode 100644 tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu43/online
create mode 100644 tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu44/online
create mode 100644 tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu45/online
create mode 100644 tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu46/online
create mode 100644 tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu47/online
create mode 100644 tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu48/online
create mode 100644 tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu48/topology/core_id
create mode 100644 tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu48/topology/core_siblings
create mode 100644 tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu48/topology/core_siblings_list
create mode 100644 tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu48/topology/physical_package_id
create mode 100644 tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu48/topology/thread_siblings
create mode 100644 tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu48/topology/thread_siblings_list
create mode 100644 tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu49/online
create mode 100644 tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu5/online
create mode 100644 tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu50/online
create mode 100644 tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu51/online
create mode 100644 tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu52/online
create mode 100644 tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu53/online
create mode 100644 tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu54/online
create mode 100644 tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu55/online
create mode 100644 tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu56/online
create mode 100644 tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu57/online
create mode 100644 tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu58/online
create mode 100644 tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu59/online
create mode 100644 tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu6/online
create mode 100644 tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu60/online
create mode 100644 tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu61/online
create mode 100644 tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu62/online
create mode 100644 tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu63/online
create mode 100644 tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu64/online
create mode 100644 tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu65/online
create mode 100644 tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu66/online
create mode 100644 tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu67/online
create mode 100644 tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu68/online
create mode 100644 tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu69/online
create mode 100644 tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu7/online
create mode 100644 tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu70/online
create mode 100644 tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu71/online
create mode 100644 tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu72/online
create mode 100644 tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu72/topology/core_id
create mode 100644 tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu72/topology/core_siblings
create mode 100644 tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu72/topology/core_siblings_list
create mode 100644 tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu72/topology/physical_package_id
create mode 100644 tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu72/topology/thread_siblings
create mode 100644 tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu72/topology/thread_siblings_list
create mode 100644 tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu73/online
create mode 100644 tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu74/online
create mode 100644 tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu75/online
create mode 100644 tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu76/online
create mode 100644 tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu77/online
create mode 100644 tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu78/online
create mode 100644 tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu79/online
create mode 100644 tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu8/online
create mode 100644 tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu80/online
create mode 100644 tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu81/online
create mode 100644 tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu82/online
create mode 100644 tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu83/online
create mode 100644 tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu84/online
create mode 100644 tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu85/online
create mode 100644 tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu86/online
create mode 100644 tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu87/online
create mode 100644 tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu88/online
create mode 100644 tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu89/online
create mode 100644 tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu9/online
create mode 100644 tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu90/online
create mode 100644 tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu91/online
create mode 100644 tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu92/online
create mode 100644 tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu93/online
create mode 100644 tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu94/online
create mode 100644 tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu95/online
create mode 100644 tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu96/online
create mode 100644 tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu97/online
create mode 100644 tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu98/online
create mode 100644 tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu99/online
create mode 100644 tests/nodeinfodata/linux-deconfigured-cpus/cpu/kernel_max
create mode 100644 tests/nodeinfodata/linux-deconfigured-cpus/cpu/offline
create mode 100644 tests/nodeinfodata/linux-deconfigured-cpus/cpu/online
create mode 100644 tests/nodeinfodata/linux-deconfigured-cpus/cpu/possible
create mode 100644 tests/nodeinfodata/linux-deconfigured-cpus/cpu/present
create mode 100644 tests/nodeinfodata/linux-deconfigured-cpus/node/node0/meminfo
create mode 100644 tests/nodeinfodata/linux-deconfigured-cpus/node/node1/meminfo
create mode 100644 tests/nodeinfodata/linux-deconfigured-cpus/node/node16/meminfo
create mode 100644 tests/nodeinfodata/linux-deconfigured-cpus/node/node17/meminfo
create mode 100644 tests/nodeinfodata/linux-deconfigured-cpus/node/online
create mode 100644 tests/nodeinfodata/linux-deconfigured-cpus/node/possible
create mode 100644 tests/nodeinfodata/linux-ppc64-deconfigured-cpus.cpuinfo
create mode 100644 tests/nodeinfodata/linux-ppc64-deconfigured-cpus.expected
diff --git a/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu0/online b/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu0/online
new file mode 100644
index 0000000..573541a
--- /dev/null
+++ b/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu0/online
@@ -0,0 +1 @@
+0
diff --git a/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu1/online b/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu1/online
new file mode 100644
index 0000000..573541a
--- /dev/null
+++ b/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu1/online
@@ -0,0 +1 @@
+0
diff --git a/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu10/online b/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu10/online
new file mode 100644
index 0000000..573541a
--- /dev/null
+++ b/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu10/online
@@ -0,0 +1 @@
+0
diff --git a/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu100/online b/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu100/online
new file mode 100644
index 0000000..573541a
--- /dev/null
+++ b/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu100/online
@@ -0,0 +1 @@
+0
diff --git a/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu101/online b/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu101/online
new file mode 100644
index 0000000..573541a
--- /dev/null
+++ b/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu101/online
@@ -0,0 +1 @@
+0
diff --git a/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu102/online b/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu102/online
new file mode 100644
index 0000000..573541a
--- /dev/null
+++ b/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu102/online
@@ -0,0 +1 @@
+0
diff --git a/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu103/online b/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu103/online
new file mode 100644
index 0000000..573541a
--- /dev/null
+++ b/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu103/online
@@ -0,0 +1 @@
+0
diff --git a/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu104/online b/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu104/online
new file mode 100644
index 0000000..d00491f
--- /dev/null
+++ b/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu104/online
@@ -0,0 +1 @@
+1
diff --git a/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu104/topology/core_id b/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu104/topology/core_id
new file mode 100644
index 0000000..9bb71ca
--- /dev/null
+++ b/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu104/topology/core_id
@@ -0,0 +1 @@
+2152
diff --git a/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu104/topology/core_siblings b/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu104/topology/core_siblings
new file mode 100644
index 0000000..267b161
--- /dev/null
+++ b/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu104/topology/core_siblings
@@ -0,0 +1 @@
+00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00010100,00000000,00000000,00000000
diff --git a/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu104/topology/core_siblings_list b/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu104/topology/core_siblings_list
new file mode 100644
index 0000000..d11f5b7
--- /dev/null
+++ b/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu104/topology/core_siblings_list
@@ -0,0 +1 @@
+104,112
diff --git a/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu104/topology/physical_package_id b/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu104/topology/physical_package_id
new file mode 100644
index 0000000..b6a7d89
--- /dev/null
+++ b/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu104/topology/physical_package_id
@@ -0,0 +1 @@
+16
diff --git a/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu104/topology/thread_siblings b/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu104/topology/thread_siblings
new file mode 100644
index 0000000..b4fa391
--- /dev/null
+++ b/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu104/topology/thread_siblings
@@ -0,0 +1 @@
+00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000100,00000000,00000000,00000000
diff --git a/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu104/topology/thread_siblings_list b/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu104/topology/thread_siblings_list
new file mode 100644
index 0000000..b16e5f7
--- /dev/null
+++ b/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu104/topology/thread_siblings_list
@@ -0,0 +1 @@
+104
diff --git a/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu105/online b/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu105/online
new file mode 100644
index 0000000..573541a
--- /dev/null
+++ b/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu105/online
@@ -0,0 +1 @@
+0
diff --git a/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu106/online b/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu106/online
new file mode 100644
index 0000000..573541a
--- /dev/null
+++ b/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu106/online
@@ -0,0 +1 @@
+0
diff --git a/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu107/online b/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu107/online
new file mode 100644
index 0000000..573541a
--- /dev/null
+++ b/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu107/online
@@ -0,0 +1 @@
+0
diff --git a/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu108/online b/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu108/online
new file mode 100644
index 0000000..573541a
--- /dev/null
+++ b/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu108/online
@@ -0,0 +1 @@
+0
diff --git a/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu109/online b/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu109/online
new file mode 100644
index 0000000..573541a
--- /dev/null
+++ b/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu109/online
@@ -0,0 +1 @@
+0
diff --git a/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu11/online b/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu11/online
new file mode 100644
index 0000000..573541a
--- /dev/null
+++ b/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu11/online
@@ -0,0 +1 @@
+0
diff --git a/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu110/online b/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu110/online
new file mode 100644
index 0000000..573541a
--- /dev/null
+++ b/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu110/online
@@ -0,0 +1 @@
+0
diff --git a/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu111/online b/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu111/online
new file mode 100644
index 0000000..573541a
--- /dev/null
+++ b/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu111/online
@@ -0,0 +1 @@
+0
diff --git a/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu112/online b/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu112/online
new file mode 100644
index 0000000..d00491f
--- /dev/null
+++ b/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu112/online
@@ -0,0 +1 @@
+1
diff --git a/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu112/topology/core_id b/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu112/topology/core_id
new file mode 100644
index 0000000..317509b
--- /dev/null
+++ b/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu112/topology/core_id
@@ -0,0 +1 @@
+2160
diff --git a/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu112/topology/core_siblings b/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu112/topology/core_siblings
new file mode 100644
index 0000000..267b161
--- /dev/null
+++ b/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu112/topology/core_siblings
@@ -0,0 +1 @@
+00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00010100,00000000,00000000,00000000
diff --git a/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu112/topology/core_siblings_list b/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu112/topology/core_siblings_list
new file mode 100644
index 0000000..d11f5b7
--- /dev/null
+++ b/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu112/topology/core_siblings_list
@@ -0,0 +1 @@
+104,112
diff --git a/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu112/topology/physical_package_id b/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu112/topology/physical_package_id
new file mode 100644
index 0000000..b6a7d89
--- /dev/null
+++ b/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu112/topology/physical_package_id
@@ -0,0 +1 @@
+16
diff --git a/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu112/topology/thread_siblings b/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu112/topology/thread_siblings
new file mode 100644
index 0000000..968e322
--- /dev/null
+++ b/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu112/topology/thread_siblings
@@ -0,0 +1 @@
+00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00010000,00000000,00000000,00000000
diff --git a/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu112/topology/thread_siblings_list b/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu112/topology/thread_siblings_list
new file mode 100644
index 0000000..194b81c
--- /dev/null
+++ b/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu112/topology/thread_siblings_list
@@ -0,0 +1 @@
+112
diff --git a/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu113/online b/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu113/online
new file mode 100644
index 0000000..573541a
--- /dev/null
+++ b/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu113/online
@@ -0,0 +1 @@
+0
diff --git a/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu114/online b/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu114/online
new file mode 100644
index 0000000..573541a
--- /dev/null
+++ b/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu114/online
@@ -0,0 +1 @@
+0
diff --git a/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu115/online b/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu115/online
new file mode 100644
index 0000000..573541a
--- /dev/null
+++ b/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu115/online
@@ -0,0 +1 @@
+0
diff --git a/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu116/online b/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu116/online
new file mode 100644
index 0000000..573541a
--- /dev/null
+++ b/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu116/online
@@ -0,0 +1 @@
+0
diff --git a/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu117/online b/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu117/online
new file mode 100644
index 0000000..573541a
--- /dev/null
+++ b/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu117/online
@@ -0,0 +1 @@
+0
diff --git a/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu118/online b/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu118/online
new file mode 100644
index 0000000..573541a
--- /dev/null
+++ b/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu118/online
@@ -0,0 +1 @@
+0
diff --git a/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu119/online b/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu119/online
new file mode 100644
index 0000000..573541a
--- /dev/null
+++ b/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu119/online
@@ -0,0 +1 @@
+0
diff --git a/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu12/online b/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu12/online
new file mode 100644
index 0000000..573541a
--- /dev/null
+++ b/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu12/online
@@ -0,0 +1 @@
+0
diff --git a/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu120/online b/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu120/online
new file mode 100644
index 0000000..d00491f
--- /dev/null
+++ b/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu120/online
@@ -0,0 +1 @@
+1
diff --git a/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu120/topology/core_id b/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu120/topology/core_id
new file mode 100644
index 0000000..b17e4bd
--- /dev/null
+++ b/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu120/topology/core_id
@@ -0,0 +1 @@
+2208
diff --git a/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu120/topology/core_siblings b/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu120/topology/core_siblings
new file mode 100644
index 0000000..99374e8
--- /dev/null
+++ b/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu120/topology/core_siblings
@@ -0,0 +1 @@
+00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000101,01000000,00000000,00000000,00000000
diff --git a/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu120/topology/core_siblings_list b/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu120/topology/core_siblings_list
new file mode 100644
index 0000000..9764eab
--- /dev/null
+++ b/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu120/topology/core_siblings_list
@@ -0,0 +1 @@
+120,128,136
diff --git a/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu120/topology/physical_package_id b/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu120/topology/physical_package_id
new file mode 100644
index 0000000..98d9bcb
--- /dev/null
+++ b/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu120/topology/physical_package_id
@@ -0,0 +1 @@
+17
diff --git a/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu120/topology/thread_siblings b/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu120/topology/thread_siblings
new file mode 100644
index 0000000..13eaaf3
--- /dev/null
+++ b/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu120/topology/thread_siblings
@@ -0,0 +1 @@
+00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,01000000,00000000,00000000,00000000
diff --git a/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu120/topology/thread_siblings_list b/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu120/topology/thread_siblings_list
new file mode 100644
index 0000000..52bd8e4
--- /dev/null
+++ b/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu120/topology/thread_siblings_list
@@ -0,0 +1 @@
+120
diff --git a/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu121/online b/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu121/online
new file mode 100644
index 0000000..573541a
--- /dev/null
+++ b/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu121/online
@@ -0,0 +1 @@
+0
diff --git a/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu122/online b/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu122/online
new file mode 100644
index 0000000..573541a
--- /dev/null
+++ b/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu122/online
@@ -0,0 +1 @@
+0
diff --git a/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu123/online b/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu123/online
new file mode 100644
index 0000000..573541a
--- /dev/null
+++ b/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu123/online
@@ -0,0 +1 @@
+0
diff --git a/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu124/online b/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu124/online
new file mode 100644
index 0000000..573541a
--- /dev/null
+++ b/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu124/online
@@ -0,0 +1 @@
+0
diff --git a/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu125/online b/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu125/online
new file mode 100644
index 0000000..573541a
--- /dev/null
+++ b/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu125/online
@@ -0,0 +1 @@
+0
diff --git a/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu126/online b/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu126/online
new file mode 100644
index 0000000..573541a
--- /dev/null
+++ b/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu126/online
@@ -0,0 +1 @@
+0
diff --git a/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu127/online b/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu127/online
new file mode 100644
index 0000000..573541a
--- /dev/null
+++ b/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu127/online
@@ -0,0 +1 @@
+0
diff --git a/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu128/online b/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu128/online
new file mode 100644
index 0000000..d00491f
--- /dev/null
+++ b/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu128/online
@@ -0,0 +1 @@
+1
diff --git a/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu128/topology/core_id b/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu128/topology/core_id
new file mode 100644
index 0000000..6edc5b6
--- /dev/null
+++ b/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu128/topology/core_id
@@ -0,0 +1 @@
+2224
diff --git a/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu128/topology/core_siblings b/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu128/topology/core_siblings
new file mode 100644
index 0000000..99374e8
--- /dev/null
+++ b/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu128/topology/core_siblings
@@ -0,0 +1 @@
+00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000101,01000000,00000000,00000000,00000000
diff --git a/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu128/topology/core_siblings_list b/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu128/topology/core_siblings_list
new file mode 100644
index 0000000..9764eab
--- /dev/null
+++ b/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu128/topology/core_siblings_list
@@ -0,0 +1 @@
+120,128,136
diff --git a/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu128/topology/physical_package_id b/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu128/topology/physical_package_id
new file mode 100644
index 0000000..98d9bcb
--- /dev/null
+++ b/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu128/topology/physical_package_id
@@ -0,0 +1 @@
+17
diff --git a/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu128/topology/thread_siblings b/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu128/topology/thread_siblings
new file mode 100644
index 0000000..7e18bfb
--- /dev/null
+++ b/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu128/topology/thread_siblings
@@ -0,0 +1 @@
+00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000001,00000000,00000000,00000000,00000000
diff --git a/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu128/topology/thread_siblings_list b/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu128/topology/thread_siblings_list
new file mode 100644
index 0000000..a949a93
--- /dev/null
+++ b/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu128/topology/thread_siblings_list
@@ -0,0 +1 @@
+128
diff --git a/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu129/online b/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu129/online
new file mode 100644
index 0000000..573541a
--- /dev/null
+++ b/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu129/online
@@ -0,0 +1 @@
+0
diff --git a/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu13/online b/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu13/online
new file mode 100644
index 0000000..573541a
--- /dev/null
+++ b/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu13/online
@@ -0,0 +1 @@
+0
diff --git a/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu130/online b/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu130/online
new file mode 100644
index 0000000..573541a
--- /dev/null
+++ b/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu130/online
@@ -0,0 +1 @@
+0
diff --git a/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu131/online b/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu131/online
new file mode 100644
index 0000000..573541a
--- /dev/null
+++ b/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu131/online
@@ -0,0 +1 @@
+0
diff --git a/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu132/online b/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu132/online
new file mode 100644
index 0000000..573541a
--- /dev/null
+++ b/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu132/online
@@ -0,0 +1 @@
+0
diff --git a/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu133/online b/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu133/online
new file mode 100644
index 0000000..573541a
--- /dev/null
+++ b/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu133/online
@@ -0,0 +1 @@
+0
diff --git a/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu134/online b/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu134/online
new file mode 100644
index 0000000..573541a
--- /dev/null
+++ b/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu134/online
@@ -0,0 +1 @@
+0
diff --git a/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu135/online b/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu135/online
new file mode 100644
index 0000000..573541a
--- /dev/null
+++ b/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu135/online
@@ -0,0 +1 @@
+0
diff --git a/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu136/online b/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu136/online
new file mode 100644
index 0000000..d00491f
--- /dev/null
+++ b/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu136/online
@@ -0,0 +1 @@
+1
diff --git a/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu136/topology/core_id b/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu136/topology/core_id
new file mode 100644
index 0000000..9813cea
--- /dev/null
+++ b/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu136/topology/core_id
@@ -0,0 +1 @@
+2272
diff --git a/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu136/topology/core_siblings b/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu136/topology/core_siblings
new file mode 100644
index 0000000..99374e8
--- /dev/null
+++ b/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu136/topology/core_siblings
@@ -0,0 +1 @@
+00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000101,01000000,00000000,00000000,00000000
diff --git a/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu136/topology/core_siblings_list b/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu136/topology/core_siblings_list
new file mode 100644
index 0000000..9764eab
--- /dev/null
+++ b/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu136/topology/core_siblings_list
@@ -0,0 +1 @@
+120,128,136
diff --git a/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu136/topology/physical_package_id b/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu136/topology/physical_package_id
new file mode 100644
index 0000000..98d9bcb
--- /dev/null
+++ b/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu136/topology/physical_package_id
@@ -0,0 +1 @@
+17
diff --git a/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu136/topology/thread_siblings b/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu136/topology/thread_siblings
new file mode 100644
index 0000000..c05c51e
--- /dev/null
+++ b/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu136/topology/thread_siblings
@@ -0,0 +1 @@
+00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000100,00000000,00000000,00000000,00000000
diff --git a/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu136/topology/thread_siblings_list b/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu136/topology/thread_siblings_list
new file mode 100644
index 0000000..7296f25
--- /dev/null
+++ b/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu136/topology/thread_siblings_list
@@ -0,0 +1 @@
+136
diff --git a/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu137/online b/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu137/online
new file mode 100644
index 0000000..573541a
--- /dev/null
+++ b/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu137/online
@@ -0,0 +1 @@
+0
diff --git a/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu138/online b/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu138/online
new file mode 100644
index 0000000..573541a
--- /dev/null
+++ b/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu138/online
@@ -0,0 +1 @@
+0
diff --git a/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu139/online b/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu139/online
new file mode 100644
index 0000000..573541a
--- /dev/null
+++ b/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu139/online
@@ -0,0 +1 @@
+0
diff --git a/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu14/online b/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu14/online
new file mode 100644
index 0000000..573541a
--- /dev/null
+++ b/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu14/online
@@ -0,0 +1 @@
+0
diff --git a/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu140/online b/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu140/online
new file mode 100644
index 0000000..573541a
--- /dev/null
+++ b/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu140/online
@@ -0,0 +1 @@
+0
diff --git a/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu141/online b/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu141/online
new file mode 100644
index 0000000..573541a
--- /dev/null
+++ b/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu141/online
@@ -0,0 +1 @@
+0
diff --git a/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu142/online b/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu142/online
new file mode 100644
index 0000000..573541a
--- /dev/null
+++ b/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu142/online
@@ -0,0 +1 @@
+0
diff --git a/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu143/online b/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu143/online
new file mode 100644
index 0000000..573541a
--- /dev/null
+++ b/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu143/online
@@ -0,0 +1 @@
+0
diff --git a/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu144/online b/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu144/online
new file mode 100644
index 0000000..573541a
--- /dev/null
+++ b/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu144/online
@@ -0,0 +1 @@
+0
diff --git a/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu145/online b/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu145/online
new file mode 100644
index 0000000..573541a
--- /dev/null
+++ b/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu145/online
@@ -0,0 +1 @@
+0
diff --git a/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu146/online b/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu146/online
new file mode 100644
index 0000000..573541a
--- /dev/null
+++ b/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu146/online
@@ -0,0 +1 @@
+0
diff --git a/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu147/online b/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu147/online
new file mode 100644
index 0000000..573541a
--- /dev/null
+++ b/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu147/online
@@ -0,0 +1 @@
+0
diff --git a/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu148/online b/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu148/online
new file mode 100644
index 0000000..573541a
--- /dev/null
+++ b/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu148/online
@@ -0,0 +1 @@
+0
diff --git a/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu149/online b/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu149/online
new file mode 100644
index 0000000..573541a
--- /dev/null
+++ b/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu149/online
@@ -0,0 +1 @@
+0
diff --git a/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu15/online b/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu15/online
new file mode 100644
index 0000000..573541a
--- /dev/null
+++ b/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu15/online
@@ -0,0 +1 @@
+0
diff --git a/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu150/online b/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu150/online
new file mode 100644
index 0000000..573541a
--- /dev/null
+++ b/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu150/online
@@ -0,0 +1 @@
+0
diff --git a/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu151/online b/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu151/online
new file mode 100644
index 0000000..573541a
--- /dev/null
+++ b/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu151/online
@@ -0,0 +1 @@
+0
diff --git a/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu152/online b/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu152/online
new file mode 100644
index 0000000..573541a
--- /dev/null
+++ b/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu152/online
@@ -0,0 +1 @@
+0
diff --git a/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu153/online b/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu153/online
new file mode 100644
index 0000000..573541a
--- /dev/null
+++ b/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu153/online
@@ -0,0 +1 @@
+0
diff --git a/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu154/online b/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu154/online
new file mode 100644
index 0000000..573541a
--- /dev/null
+++ b/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu154/online
@@ -0,0 +1 @@
+0
diff --git a/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu155/online b/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu155/online
new file mode 100644
index 0000000..573541a
--- /dev/null
+++ b/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu155/online
@@ -0,0 +1 @@
+0
diff --git a/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu156/online b/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu156/online
new file mode 100644
index 0000000..573541a
--- /dev/null
+++ b/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu156/online
@@ -0,0 +1 @@
+0
diff --git a/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu157/online b/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu157/online
new file mode 100644
index 0000000..573541a
--- /dev/null
+++ b/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu157/online
@@ -0,0 +1 @@
+0
diff --git a/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu158/online b/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu158/online
new file mode 100644
index 0000000..573541a
--- /dev/null
+++ b/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu158/online
@@ -0,0 +1 @@
+0
diff --git a/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu159/online b/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu159/online
new file mode 100644
index 0000000..573541a
--- /dev/null
+++ b/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu159/online
@@ -0,0 +1 @@
+0
diff --git a/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu16/online b/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu16/online
new file mode 100644
index 0000000..d00491f
--- /dev/null
+++ b/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu16/online
@@ -0,0 +1 @@
+1
diff --git a/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu16/topology/core_id b/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu16/topology/core_id
new file mode 100644
index 0000000..f906e18
--- /dev/null
+++ b/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu16/topology/core_id
@@ -0,0 +1 @@
+96
diff --git a/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu16/topology/core_siblings b/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu16/topology/core_siblings
new file mode 100644
index 0000000..94bd366
--- /dev/null
+++ b/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu16/topology/core_siblings
@@ -0,0 +1 @@
+00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,01010000
diff --git a/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu16/topology/core_siblings_list b/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu16/topology/core_siblings_list
new file mode 100644
index 0000000..2887d7b
--- /dev/null
+++ b/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu16/topology/core_siblings_list
@@ -0,0 +1 @@
+16,24
diff --git a/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu16/topology/physical_package_id b/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu16/topology/physical_package_id
new file mode 100644
index 0000000..573541a
--- /dev/null
+++ b/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu16/topology/physical_package_id
@@ -0,0 +1 @@
+0
diff --git a/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu16/topology/thread_siblings b/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu16/topology/thread_siblings
new file mode 100644
index 0000000..f15bff6
--- /dev/null
+++ b/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu16/topology/thread_siblings
@@ -0,0 +1 @@
+00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00010000
diff --git a/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu16/topology/thread_siblings_list b/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu16/topology/thread_siblings_list
new file mode 100644
index 0000000..b6a7d89
--- /dev/null
+++ b/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu16/topology/thread_siblings_list
@@ -0,0 +1 @@
+16
diff --git a/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu17/online b/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu17/online
new file mode 100644
index 0000000..573541a
--- /dev/null
+++ b/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu17/online
@@ -0,0 +1 @@
+0
diff --git a/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu18/online b/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu18/online
new file mode 100644
index 0000000..573541a
--- /dev/null
+++ b/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu18/online
@@ -0,0 +1 @@
+0
diff --git a/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu19/online b/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu19/online
new file mode 100644
index 0000000..573541a
--- /dev/null
+++ b/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu19/online
@@ -0,0 +1 @@
+0
diff --git a/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu2/online b/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu2/online
new file mode 100644
index 0000000..573541a
--- /dev/null
+++ b/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu2/online
@@ -0,0 +1 @@
+0
diff --git a/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu20/online b/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu20/online
new file mode 100644
index 0000000..573541a
--- /dev/null
+++ b/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu20/online
@@ -0,0 +1 @@
+0
diff --git a/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu21/online b/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu21/online
new file mode 100644
index 0000000..573541a
--- /dev/null
+++ b/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu21/online
@@ -0,0 +1 @@
+0
diff --git a/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu22/online b/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu22/online
new file mode 100644
index 0000000..573541a
--- /dev/null
+++ b/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu22/online
@@ -0,0 +1 @@
+0
diff --git a/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu23/online b/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu23/online
new file mode 100644
index 0000000..573541a
--- /dev/null
+++ b/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu23/online
@@ -0,0 +1 @@
+0
diff --git a/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu24/online b/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu24/online
new file mode 100644
index 0000000..d00491f
--- /dev/null
+++ b/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu24/online
@@ -0,0 +1 @@
+1
diff --git a/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu24/topology/core_id b/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu24/topology/core_id
new file mode 100644
index 0000000..b16e5f7
--- /dev/null
+++ b/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu24/topology/core_id
@@ -0,0 +1 @@
+104
diff --git a/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu24/topology/core_siblings b/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu24/topology/core_siblings
new file mode 100644
index 0000000..94bd366
--- /dev/null
+++ b/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu24/topology/core_siblings
@@ -0,0 +1 @@
+00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,01010000
diff --git a/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu24/topology/core_siblings_list b/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu24/topology/core_siblings_list
new file mode 100644
index 0000000..2887d7b
--- /dev/null
+++ b/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu24/topology/core_siblings_list
@@ -0,0 +1 @@
+16,24
diff --git a/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu24/topology/physical_package_id b/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu24/topology/physical_package_id
new file mode 100644
index 0000000..573541a
--- /dev/null
+++ b/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu24/topology/physical_package_id
@@ -0,0 +1 @@
+0
diff --git a/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu24/topology/thread_siblings b/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu24/topology/thread_siblings
new file mode 100644
index 0000000..c20308b
--- /dev/null
+++ b/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu24/topology/thread_siblings
@@ -0,0 +1 @@
+00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,01000000
diff --git a/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu24/topology/thread_siblings_list b/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu24/topology/thread_siblings_list
new file mode 100644
index 0000000..a45fd52
--- /dev/null
+++ b/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu24/topology/thread_siblings_list
@@ -0,0 +1 @@
+24
diff --git a/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu25/online b/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu25/online
new file mode 100644
index 0000000..573541a
--- /dev/null
+++ b/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu25/online
@@ -0,0 +1 @@
+0
diff --git a/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu26/online b/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu26/online
new file mode 100644
index 0000000..573541a
--- /dev/null
+++ b/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu26/online
@@ -0,0 +1 @@
+0
diff --git a/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu27/online b/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu27/online
new file mode 100644
index 0000000..573541a
--- /dev/null
+++ b/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu27/online
@@ -0,0 +1 @@
+0
diff --git a/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu28/online b/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu28/online
new file mode 100644
index 0000000..573541a
--- /dev/null
+++ b/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu28/online
@@ -0,0 +1 @@
+0
diff --git a/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu29/online b/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu29/online
new file mode 100644
index 0000000..573541a
--- /dev/null
+++ b/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu29/online
@@ -0,0 +1 @@
+0
diff --git a/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu3/online b/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu3/online
new file mode 100644
index 0000000..573541a
--- /dev/null
+++ b/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu3/online
@@ -0,0 +1 @@
+0
diff --git a/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu30/online b/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu30/online
new file mode 100644
index 0000000..573541a
--- /dev/null
+++ b/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu30/online
@@ -0,0 +1 @@
+0
diff --git a/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu31/online b/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu31/online
new file mode 100644
index 0000000..573541a
--- /dev/null
+++ b/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu31/online
@@ -0,0 +1 @@
+0
diff --git a/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu32/online b/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu32/online
new file mode 100644
index 0000000..573541a
--- /dev/null
+++ b/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu32/online
@@ -0,0 +1 @@
+0
diff --git a/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu33/online b/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu33/online
new file mode 100644
index 0000000..573541a
--- /dev/null
+++ b/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu33/online
@@ -0,0 +1 @@
+0
diff --git a/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu34/online b/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu34/online
new file mode 100644
index 0000000..573541a
--- /dev/null
+++ b/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu34/online
@@ -0,0 +1 @@
+0
diff --git a/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu35/online b/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu35/online
new file mode 100644
index 0000000..573541a
--- /dev/null
+++ b/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu35/online
@@ -0,0 +1 @@
+0
diff --git a/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu36/online b/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu36/online
new file mode 100644
index 0000000..573541a
--- /dev/null
+++ b/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu36/online
@@ -0,0 +1 @@
+0
diff --git a/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu37/online b/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu37/online
new file mode 100644
index 0000000..573541a
--- /dev/null
+++ b/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu37/online
@@ -0,0 +1 @@
+0
diff --git a/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu38/online b/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu38/online
new file mode 100644
index 0000000..573541a
--- /dev/null
+++ b/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu38/online
@@ -0,0 +1 @@
+0
diff --git a/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu39/online b/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu39/online
new file mode 100644
index 0000000..573541a
--- /dev/null
+++ b/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu39/online
@@ -0,0 +1 @@
+0
diff --git a/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu4/online b/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu4/online
new file mode 100644
index 0000000..573541a
--- /dev/null
+++ b/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu4/online
@@ -0,0 +1 @@
+0
diff --git a/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu40/online b/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu40/online
new file mode 100644
index 0000000..d00491f
--- /dev/null
+++ b/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu40/online
@@ -0,0 +1 @@
+1
diff --git a/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu40/topology/core_id b/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu40/topology/core_id
new file mode 100644
index 0000000..a762560
--- /dev/null
+++ b/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu40/topology/core_id
@@ -0,0 +1 @@
+160
diff --git a/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu40/topology/core_siblings b/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu40/topology/core_siblings
new file mode 100644
index 0000000..24976fc
--- /dev/null
+++ b/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu40/topology/core_siblings
@@ -0,0 +1 @@
+00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000100,00010100,00000000
diff --git a/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu40/topology/core_siblings_list b/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu40/topology/core_siblings_list
new file mode 100644
index 0000000..b7a5a65
--- /dev/null
+++ b/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu40/topology/core_siblings_list
@@ -0,0 +1 @@
+40,48,72
diff --git a/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu40/topology/physical_package_id b/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu40/topology/physical_package_id
new file mode 100644
index 0000000..d00491f
--- /dev/null
+++ b/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu40/topology/physical_package_id
@@ -0,0 +1 @@
+1
diff --git a/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu40/topology/thread_siblings b/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu40/topology/thread_siblings
new file mode 100644
index 0000000..d98f0b4
--- /dev/null
+++ b/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu40/topology/thread_siblings
@@ -0,0 +1 @@
+00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000100,00000000
diff --git a/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu40/topology/thread_siblings_list b/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu40/topology/thread_siblings_list
new file mode 100644
index 0000000..425151f
--- /dev/null
+++ b/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu40/topology/thread_siblings_list
@@ -0,0 +1 @@
+40
diff --git a/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu41/online b/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu41/online
new file mode 100644
index 0000000..573541a
--- /dev/null
+++ b/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu41/online
@@ -0,0 +1 @@
+0
diff --git a/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu42/online b/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu42/online
new file mode 100644
index 0000000..573541a
--- /dev/null
+++ b/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu42/online
@@ -0,0 +1 @@
+0
diff --git a/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu43/online b/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu43/online
new file mode 100644
index 0000000..573541a
--- /dev/null
+++ b/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu43/online
@@ -0,0 +1 @@
+0
diff --git a/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu44/online b/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu44/online
new file mode 100644
index 0000000..573541a
--- /dev/null
+++ b/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu44/online
@@ -0,0 +1 @@
+0
diff --git a/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu45/online b/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu45/online
new file mode 100644
index 0000000..573541a
--- /dev/null
+++ b/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu45/online
@@ -0,0 +1 @@
+0
diff --git a/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu46/online b/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu46/online
new file mode 100644
index 0000000..573541a
--- /dev/null
+++ b/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu46/online
@@ -0,0 +1 @@
+0
diff --git a/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu47/online b/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu47/online
new file mode 100644
index 0000000..573541a
--- /dev/null
+++ b/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu47/online
@@ -0,0 +1 @@
+0
diff --git a/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu48/online b/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu48/online
new file mode 100644
index 0000000..d00491f
--- /dev/null
+++ b/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu48/online
@@ -0,0 +1 @@
+1
diff --git a/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu48/topology/core_id b/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu48/topology/core_id
new file mode 100644
index 0000000..1057e9a
--- /dev/null
+++ b/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu48/topology/core_id
@@ -0,0 +1 @@
+176
diff --git a/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu48/topology/core_siblings b/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu48/topology/core_siblings
new file mode 100644
index 0000000..24976fc
--- /dev/null
+++ b/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu48/topology/core_siblings
@@ -0,0 +1 @@
+00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000100,00010100,00000000
diff --git a/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu48/topology/core_siblings_list b/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu48/topology/core_siblings_list
new file mode 100644
index 0000000..b7a5a65
--- /dev/null
+++ b/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu48/topology/core_siblings_list
@@ -0,0 +1 @@
+40,48,72
diff --git a/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu48/topology/physical_package_id b/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu48/topology/physical_package_id
new file mode 100644
index 0000000..d00491f
--- /dev/null
+++ b/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu48/topology/physical_package_id
@@ -0,0 +1 @@
+1
diff --git a/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu48/topology/thread_siblings b/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu48/topology/thread_siblings
new file mode 100644
index 0000000..943a83a
--- /dev/null
+++ b/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu48/topology/thread_siblings
@@ -0,0 +1 @@
+00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00010000,00000000
diff --git a/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu48/topology/thread_siblings_list b/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu48/topology/thread_siblings_list
new file mode 100644
index 0000000..21e72e8
--- /dev/null
+++ b/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu48/topology/thread_siblings_list
@@ -0,0 +1 @@
+48
diff --git a/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu49/online b/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu49/online
new file mode 100644
index 0000000..573541a
--- /dev/null
+++ b/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu49/online
@@ -0,0 +1 @@
+0
diff --git a/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu5/online b/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu5/online
new file mode 100644
index 0000000..573541a
--- /dev/null
+++ b/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu5/online
@@ -0,0 +1 @@
+0
diff --git a/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu50/online b/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu50/online
new file mode 100644
index 0000000..573541a
--- /dev/null
+++ b/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu50/online
@@ -0,0 +1 @@
+0
diff --git a/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu51/online b/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu51/online
new file mode 100644
index 0000000..573541a
--- /dev/null
+++ b/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu51/online
@@ -0,0 +1 @@
+0
diff --git a/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu52/online b/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu52/online
new file mode 100644
index 0000000..573541a
--- /dev/null
+++ b/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu52/online
@@ -0,0 +1 @@
+0
diff --git a/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu53/online b/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu53/online
new file mode 100644
index 0000000..573541a
--- /dev/null
+++ b/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu53/online
@@ -0,0 +1 @@
+0
diff --git a/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu54/online b/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu54/online
new file mode 100644
index 0000000..573541a
--- /dev/null
+++ b/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu54/online
@@ -0,0 +1 @@
+0
diff --git a/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu55/online b/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu55/online
new file mode 100644
index 0000000..573541a
--- /dev/null
+++ b/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu55/online
@@ -0,0 +1 @@
+0
diff --git a/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu56/online b/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu56/online
new file mode 100644
index 0000000..573541a
--- /dev/null
+++ b/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu56/online
@@ -0,0 +1 @@
+0
diff --git a/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu57/online b/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu57/online
new file mode 100644
index 0000000..573541a
--- /dev/null
+++ b/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu57/online
@@ -0,0 +1 @@
+0
diff --git a/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu58/online b/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu58/online
new file mode 100644
index 0000000..573541a
--- /dev/null
+++ b/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu58/online
@@ -0,0 +1 @@
+0
diff --git a/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu59/online b/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu59/online
new file mode 100644
index 0000000..573541a
--- /dev/null
+++ b/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu59/online
@@ -0,0 +1 @@
+0
diff --git a/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu6/online b/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu6/online
new file mode 100644
index 0000000..573541a
--- /dev/null
+++ b/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu6/online
@@ -0,0 +1 @@
+0
diff --git a/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu60/online b/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu60/online
new file mode 100644
index 0000000..573541a
--- /dev/null
+++ b/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu60/online
@@ -0,0 +1 @@
+0
diff --git a/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu61/online b/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu61/online
new file mode 100644
index 0000000..573541a
--- /dev/null
+++ b/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu61/online
@@ -0,0 +1 @@
+0
diff --git a/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu62/online b/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu62/online
new file mode 100644
index 0000000..573541a
--- /dev/null
+++ b/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu62/online
@@ -0,0 +1 @@
+0
diff --git a/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu63/online b/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu63/online
new file mode 100644
index 0000000..573541a
--- /dev/null
+++ b/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu63/online
@@ -0,0 +1 @@
+0
diff --git a/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu64/online b/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu64/online
new file mode 100644
index 0000000..573541a
--- /dev/null
+++ b/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu64/online
@@ -0,0 +1 @@
+0
diff --git a/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu65/online b/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu65/online
new file mode 100644
index 0000000..573541a
--- /dev/null
+++ b/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu65/online
@@ -0,0 +1 @@
+0
diff --git a/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu66/online b/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu66/online
new file mode 100644
index 0000000..573541a
--- /dev/null
+++ b/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu66/online
@@ -0,0 +1 @@
+0
diff --git a/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu67/online b/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu67/online
new file mode 100644
index 0000000..573541a
--- /dev/null
+++ b/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu67/online
@@ -0,0 +1 @@
+0
diff --git a/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu68/online b/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu68/online
new file mode 100644
index 0000000..573541a
--- /dev/null
+++ b/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu68/online
@@ -0,0 +1 @@
+0
diff --git a/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu69/online b/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu69/online
new file mode 100644
index 0000000..573541a
--- /dev/null
+++ b/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu69/online
@@ -0,0 +1 @@
+0
diff --git a/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu7/online b/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu7/online
new file mode 100644
index 0000000..573541a
--- /dev/null
+++ b/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu7/online
@@ -0,0 +1 @@
+0
diff --git a/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu70/online b/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu70/online
new file mode 100644
index 0000000..573541a
--- /dev/null
+++ b/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu70/online
@@ -0,0 +1 @@
+0
diff --git a/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu71/online b/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu71/online
new file mode 100644
index 0000000..573541a
--- /dev/null
+++ b/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu71/online
@@ -0,0 +1 @@
+0
diff --git a/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu72/online b/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu72/online
new file mode 100644
index 0000000..d00491f
--- /dev/null
+++ b/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu72/online
@@ -0,0 +1 @@
+1
diff --git a/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu72/topology/core_id b/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu72/topology/core_id
new file mode 100644
index 0000000..eb08bc0
--- /dev/null
+++ b/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu72/topology/core_id
@@ -0,0 +1 @@
+240
diff --git a/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu72/topology/core_siblings b/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu72/topology/core_siblings
new file mode 100644
index 0000000..24976fc
--- /dev/null
+++ b/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu72/topology/core_siblings
@@ -0,0 +1 @@
+00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000100,00010100,00000000
diff --git a/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu72/topology/core_siblings_list b/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu72/topology/core_siblings_list
new file mode 100644
index 0000000..b7a5a65
--- /dev/null
+++ b/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu72/topology/core_siblings_list
@@ -0,0 +1 @@
+40,48,72
diff --git a/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu72/topology/physical_package_id b/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu72/topology/physical_package_id
new file mode 100644
index 0000000..d00491f
--- /dev/null
+++ b/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu72/topology/physical_package_id
@@ -0,0 +1 @@
+1
diff --git a/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu72/topology/thread_siblings b/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu72/topology/thread_siblings
new file mode 100644
index 0000000..b85a0fd
--- /dev/null
+++ b/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu72/topology/thread_siblings
@@ -0,0 +1 @@
+00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000100,00000000,00000000
diff --git a/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu72/topology/thread_siblings_list b/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu72/topology/thread_siblings_list
new file mode 100644
index 0000000..ea70ce0
--- /dev/null
+++ b/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu72/topology/thread_siblings_list
@@ -0,0 +1 @@
+72
diff --git a/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu73/online b/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu73/online
new file mode 100644
index 0000000..573541a
--- /dev/null
+++ b/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu73/online
@@ -0,0 +1 @@
+0
diff --git a/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu74/online b/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu74/online
new file mode 100644
index 0000000..573541a
--- /dev/null
+++ b/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu74/online
@@ -0,0 +1 @@
+0
diff --git a/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu75/online b/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu75/online
new file mode 100644
index 0000000..573541a
--- /dev/null
+++ b/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu75/online
@@ -0,0 +1 @@
+0
diff --git a/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu76/online b/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu76/online
new file mode 100644
index 0000000..573541a
--- /dev/null
+++ b/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu76/online
@@ -0,0 +1 @@
+0
diff --git a/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu77/online b/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu77/online
new file mode 100644
index 0000000..573541a
--- /dev/null
+++ b/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu77/online
@@ -0,0 +1 @@
+0
diff --git a/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu78/online b/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu78/online
new file mode 100644
index 0000000..573541a
--- /dev/null
+++ b/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu78/online
@@ -0,0 +1 @@
+0
diff --git a/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu79/online b/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu79/online
new file mode 100644
index 0000000..573541a
--- /dev/null
+++ b/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu79/online
@@ -0,0 +1 @@
+0
diff --git a/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu8/online b/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu8/online
new file mode 100644
index 0000000..573541a
--- /dev/null
+++ b/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu8/online
@@ -0,0 +1 @@
+0
diff --git a/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu80/online b/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu80/online
new file mode 100644
index 0000000..573541a
--- /dev/null
+++ b/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu80/online
@@ -0,0 +1 @@
+0
diff --git a/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu81/online b/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu81/online
new file mode 100644
index 0000000..573541a
--- /dev/null
+++ b/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu81/online
@@ -0,0 +1 @@
+0
diff --git a/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu82/online b/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu82/online
new file mode 100644
index 0000000..573541a
--- /dev/null
+++ b/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu82/online
@@ -0,0 +1 @@
+0
diff --git a/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu83/online b/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu83/online
new file mode 100644
index 0000000..573541a
--- /dev/null
+++ b/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu83/online
@@ -0,0 +1 @@
+0
diff --git a/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu84/online b/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu84/online
new file mode 100644
index 0000000..573541a
--- /dev/null
+++ b/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu84/online
@@ -0,0 +1 @@
+0
diff --git a/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu85/online b/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu85/online
new file mode 100644
index 0000000..573541a
--- /dev/null
+++ b/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu85/online
@@ -0,0 +1 @@
+0
diff --git a/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu86/online b/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu86/online
new file mode 100644
index 0000000..573541a
--- /dev/null
+++ b/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu86/online
@@ -0,0 +1 @@
+0
diff --git a/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu87/online b/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu87/online
new file mode 100644
index 0000000..573541a
--- /dev/null
+++ b/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu87/online
@@ -0,0 +1 @@
+0
diff --git a/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu88/online b/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu88/online
new file mode 100644
index 0000000..573541a
--- /dev/null
+++ b/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu88/online
@@ -0,0 +1 @@
+0
diff --git a/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu89/online b/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu89/online
new file mode 100644
index 0000000..573541a
--- /dev/null
+++ b/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu89/online
@@ -0,0 +1 @@
+0
diff --git a/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu9/online b/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu9/online
new file mode 100644
index 0000000..573541a
--- /dev/null
+++ b/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu9/online
@@ -0,0 +1 @@
+0
diff --git a/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu90/online b/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu90/online
new file mode 100644
index 0000000..573541a
--- /dev/null
+++ b/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu90/online
@@ -0,0 +1 @@
+0
diff --git a/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu91/online b/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu91/online
new file mode 100644
index 0000000..573541a
--- /dev/null
+++ b/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu91/online
@@ -0,0 +1 @@
+0
diff --git a/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu92/online b/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu92/online
new file mode 100644
index 0000000..573541a
--- /dev/null
+++ b/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu92/online
@@ -0,0 +1 @@
+0
diff --git a/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu93/online b/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu93/online
new file mode 100644
index 0000000..573541a
--- /dev/null
+++ b/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu93/online
@@ -0,0 +1 @@
+0
diff --git a/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu94/online b/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu94/online
new file mode 100644
index 0000000..573541a
--- /dev/null
+++ b/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu94/online
@@ -0,0 +1 @@
+0
diff --git a/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu95/online b/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu95/online
new file mode 100644
index 0000000..573541a
--- /dev/null
+++ b/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu95/online
@@ -0,0 +1 @@
+0
diff --git a/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu96/online b/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu96/online
new file mode 100644
index 0000000..573541a
--- /dev/null
+++ b/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu96/online
@@ -0,0 +1 @@
+0
diff --git a/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu97/online b/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu97/online
new file mode 100644
index 0000000..573541a
--- /dev/null
+++ b/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu97/online
@@ -0,0 +1 @@
+0
diff --git a/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu98/online b/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu98/online
new file mode 100644
index 0000000..573541a
--- /dev/null
+++ b/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu98/online
@@ -0,0 +1 @@
+0
diff --git a/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu99/online b/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu99/online
new file mode 100644
index 0000000..573541a
--- /dev/null
+++ b/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu99/online
@@ -0,0 +1 @@
+0
diff --git a/tests/nodeinfodata/linux-deconfigured-cpus/cpu/kernel_max b/tests/nodeinfodata/linux-deconfigured-cpus/cpu/kernel_max
new file mode 100644
index 0000000..b6ac305
--- /dev/null
+++ b/tests/nodeinfodata/linux-deconfigured-cpus/cpu/kernel_max
@@ -0,0 +1 @@
+2047
diff --git a/tests/nodeinfodata/linux-deconfigured-cpus/cpu/offline b/tests/nodeinfodata/linux-deconfigured-cpus/cpu/offline
new file mode 100644
index 0000000..b74672a
--- /dev/null
+++ b/tests/nodeinfodata/linux-deconfigured-cpus/cpu/offline
@@ -0,0 +1 @@
+0-15,17-23,25-39,41-47,49-71,73-103,105-111,113-119,121-127,129-135,137-159
diff --git a/tests/nodeinfodata/linux-deconfigured-cpus/cpu/online b/tests/nodeinfodata/linux-deconfigured-cpus/cpu/online
new file mode 100644
index 0000000..dbb065f
--- /dev/null
+++ b/tests/nodeinfodata/linux-deconfigured-cpus/cpu/online
@@ -0,0 +1 @@
+16,24,40,48,72,104,112,120,128,136
diff --git a/tests/nodeinfodata/linux-deconfigured-cpus/cpu/possible b/tests/nodeinfodata/linux-deconfigured-cpus/cpu/possible
new file mode 100644
index 0000000..7a662d6
--- /dev/null
+++ b/tests/nodeinfodata/linux-deconfigured-cpus/cpu/possible
@@ -0,0 +1 @@
+0-159
diff --git a/tests/nodeinfodata/linux-deconfigured-cpus/cpu/present b/tests/nodeinfodata/linux-deconfigured-cpus/cpu/present
new file mode 100644
index 0000000..4acfa9b
--- /dev/null
+++ b/tests/nodeinfodata/linux-deconfigured-cpus/cpu/present
@@ -0,0 +1 @@
+16-31,40-55,72-79,104-143
diff --git a/tests/nodeinfodata/linux-deconfigured-cpus/node/node0/meminfo b/tests/nodeinfodata/linux-deconfigured-cpus/node/node0/meminfo
new file mode 100644
index 0000000..1033a39
--- /dev/null
+++ b/tests/nodeinfodata/linux-deconfigured-cpus/node/node0/meminfo
@@ -0,0 +1,29 @@
+Node 0 MemTotal: 67108864 kB
+Node 0 MemFree: 61726720 kB
+Node 0 MemUsed: 5382144 kB
+Node 0 Active: 276544 kB
+Node 0 Inactive: 174848 kB
+Node 0 Active(anon): 100928 kB
+Node 0 Inactive(anon): 9152 kB
+Node 0 Active(file): 175616 kB
+Node 0 Inactive(file): 165696 kB
+Node 0 Unevictable: 0 kB
+Node 0 Mlocked: 0 kB
+Node 0 Dirty: 69824 kB
+Node 0 Writeback: 0 kB
+Node 0 FilePages: 360256 kB
+Node 0 Mapped: 42752 kB
+Node 0 AnonPages: 93312 kB
+Node 0 Shmem: 16768 kB
+Node 0 KernelStack: 10208 kB
+Node 0 PageTables: 1472 kB
+Node 0 NFS_Unstable: 0 kB
+Node 0 Bounce: 0 kB
+Node 0 WritebackTmp: 0 kB
+Node 0 Slab: 184576 kB
+Node 0 SReclaimable: 57152 kB
+Node 0 SUnreclaim: 127424 kB
+Node 0 AnonHugePages: 0 kB
+Node 0 HugePages_Total: 0
+Node 0 HugePages_Free: 0
+Node 0 HugePages_Surp: 0
diff --git a/tests/nodeinfodata/linux-deconfigured-cpus/node/node1/meminfo b/tests/nodeinfodata/linux-deconfigured-cpus/node/node1/meminfo
new file mode 100644
index 0000000..600841b
--- /dev/null
+++ b/tests/nodeinfodata/linux-deconfigured-cpus/node/node1/meminfo
@@ -0,0 +1,29 @@
+Node 1 MemTotal: 67108864 kB
+Node 1 MemFree: 66225792 kB
+Node 1 MemUsed: 883072 kB
+Node 1 Active: 247040 kB
+Node 1 Inactive: 82752 kB
+Node 1 Active(anon): 52800 kB
+Node 1 Inactive(anon): 192 kB
+Node 1 Active(file): 194240 kB
+Node 1 Inactive(file): 82560 kB
+Node 1 Unevictable: 0 kB
+Node 1 Mlocked: 0 kB
+Node 1 Dirty: 64 kB
+Node 1 Writeback: 0 kB
+Node 1 FilePages: 281344 kB
+Node 1 Mapped: 19264 kB
+Node 1 AnonPages: 49088 kB
+Node 1 Shmem: 4352 kB
+Node 1 KernelStack: 2960 kB
+Node 1 PageTables: 448 kB
+Node 1 NFS_Unstable: 0 kB
+Node 1 Bounce: 0 kB
+Node 1 WritebackTmp: 0 kB
+Node 1 Slab: 106368 kB
+Node 1 SReclaimable: 16448 kB
+Node 1 SUnreclaim: 89920 kB
+Node 1 AnonHugePages: 0 kB
+Node 1 HugePages_Total: 0
+Node 1 HugePages_Free: 0
+Node 1 HugePages_Surp: 0
diff --git a/tests/nodeinfodata/linux-deconfigured-cpus/node/node16/meminfo b/tests/nodeinfodata/linux-deconfigured-cpus/node/node16/meminfo
new file mode 100644
index 0000000..78350e1
--- /dev/null
+++ b/tests/nodeinfodata/linux-deconfigured-cpus/node/node16/meminfo
@@ -0,0 +1,29 @@
+Node 16 MemTotal: 67108864 kB
+Node 16 MemFree: 66296832 kB
+Node 16 MemUsed: 812032 kB
+Node 16 Active: 145792 kB
+Node 16 Inactive: 131904 kB
+Node 16 Active(anon): 36352 kB
+Node 16 Inactive(anon): 320 kB
+Node 16 Active(file): 109440 kB
+Node 16 Inactive(file): 131584 kB
+Node 16 Unevictable: 0 kB
+Node 16 Mlocked: 0 kB
+Node 16 Dirty: 48256 kB
+Node 16 Writeback: 0 kB
+Node 16 FilePages: 246720 kB
+Node 16 Mapped: 7744 kB
+Node 16 AnonPages: 35968 kB
+Node 16 Shmem: 704 kB
+Node 16 KernelStack: 3232 kB
+Node 16 PageTables: 512 kB
+Node 16 NFS_Unstable: 0 kB
+Node 16 Bounce: 0 kB
+Node 16 WritebackTmp: 0 kB
+Node 16 Slab: 61760 kB
+Node 16 SReclaimable: 28736 kB
+Node 16 SUnreclaim: 33024 kB
+Node 16 AnonHugePages: 0 kB
+Node 16 HugePages_Total: 0
+Node 16 HugePages_Free: 0
+Node 16 HugePages_Surp: 0
diff --git a/tests/nodeinfodata/linux-deconfigured-cpus/node/node17/meminfo b/tests/nodeinfodata/linux-deconfigured-cpus/node/node17/meminfo
new file mode 100644
index 0000000..3e691f2
--- /dev/null
+++ b/tests/nodeinfodata/linux-deconfigured-cpus/node/node17/meminfo
@@ -0,0 +1,29 @@
+Node 17 MemTotal: 67108864 kB
+Node 17 MemFree: 65890688 kB
+Node 17 MemUsed: 1218176 kB
+Node 17 Active: 250752 kB
+Node 17 Inactive: 181184 kB
+Node 17 Active(anon): 100544 kB
+Node 17 Inactive(anon): 320 kB
+Node 17 Active(file): 150208 kB
+Node 17 Inactive(file): 180864 kB
+Node 17 Unevictable: 0 kB
+Node 17 Mlocked: 0 kB
+Node 17 Dirty: 97856 kB
+Node 17 Writeback: 0 kB
+Node 17 FilePages: 341824 kB
+Node 17 Mapped: 2304 kB
+Node 17 AnonPages: 100736 kB
+Node 17 Shmem: 576 kB
+Node 17 KernelStack: 3088 kB
+Node 17 PageTables: 768 kB
+Node 17 NFS_Unstable: 0 kB
+Node 17 Bounce: 0 kB
+Node 17 WritebackTmp: 0 kB
+Node 17 Slab: 61760 kB
+Node 17 SReclaimable: 14912 kB
+Node 17 SUnreclaim: 46848 kB
+Node 17 AnonHugePages: 49152 kB
+Node 17 HugePages_Total: 0
+Node 17 HugePages_Free: 0
+Node 17 HugePages_Surp: 0
diff --git a/tests/nodeinfodata/linux-deconfigured-cpus/node/online b/tests/nodeinfodata/linux-deconfigured-cpus/node/online
new file mode 100644
index 0000000..a41eb32
--- /dev/null
+++ b/tests/nodeinfodata/linux-deconfigured-cpus/node/online
@@ -0,0 +1 @@
+0-1,16-17
diff --git a/tests/nodeinfodata/linux-deconfigured-cpus/node/possible b/tests/nodeinfodata/linux-deconfigured-cpus/node/possible
new file mode 100644
index 0000000..8d232c7
--- /dev/null
+++ b/tests/nodeinfodata/linux-deconfigured-cpus/node/possible
@@ -0,0 +1 @@
+0-255
diff --git a/tests/nodeinfodata/linux-ppc64-deconfigured-cpus.cpuinfo b/tests/nodeinfodata/linux-ppc64-deconfigured-cpus.cpuinfo
new file mode 100644
index 0000000..e5560e2
--- /dev/null
+++ b/tests/nodeinfodata/linux-ppc64-deconfigured-cpus.cpuinfo
@@ -0,0 +1,55 @@
+processor : 16
+cpu : POWER8E (raw), altivec supported
+clock : 3690.000000MHz
+revision : 2.1 (pvr 004b 0201)
+
+processor : 24
+cpu : POWER8E (raw), altivec supported
+clock : 3690.000000MHz
+revision : 2.1 (pvr 004b 0201)
+
+processor : 40
+cpu : POWER8E (raw), altivec supported
+clock : 3690.000000MHz
+revision : 2.1 (pvr 004b 0201)
+
+processor : 48
+cpu : POWER8E (raw), altivec supported
+clock : 3690.000000MHz
+revision : 2.1 (pvr 004b 0201)
+
+processor : 72
+cpu : POWER8E (raw), altivec supported
+clock : 3690.000000MHz
+revision : 2.1 (pvr 004b 0201)
+
+processor : 104
+cpu : POWER8E (raw), altivec supported
+clock : 3690.000000MHz
+revision : 2.1 (pvr 004b 0201)
+
+processor : 112
+cpu : POWER8E (raw), altivec supported
+clock : 3690.000000MHz
+revision : 2.1 (pvr 004b 0201)
+
+processor : 120
+cpu : POWER8E (raw), altivec supported
+clock : 3690.000000MHz
+revision : 2.1 (pvr 004b 0201)
+
+processor : 128
+cpu : POWER8E (raw), altivec supported
+clock : 3690.000000MHz
+revision : 2.1 (pvr 004b 0201)
+
+processor : 136
+cpu : POWER8E (raw), altivec supported
+clock : 3690.000000MHz
+revision : 2.1 (pvr 004b 0201)
+
+timebase : 512000000
+platform : PowerNV
+model : 8247-22L
+machine : PowerNV 8247-22L
+firmware : OPAL v3
diff --git a/tests/nodeinfodata/linux-ppc64-deconfigured-cpus.expected b/tests/nodeinfodata/linux-ppc64-deconfigured-cpus.expected
new file mode 100644
index 0000000..304f423
--- /dev/null
+++ b/tests/nodeinfodata/linux-ppc64-deconfigured-cpus.expected
@@ -0,0 +1 @@
+CPUs: 10/80, MHz: 3690, Nodes: 1, Sockets: 1, Cores: 80, Threads: 1
diff --git a/tests/nodeinfotest.c b/tests/nodeinfotest.c
index 8d0a06f..be099f0 100644
--- a/tests/nodeinfotest.c
+++ b/tests/nodeinfotest.c
@@ -234,6 +234,7 @@ mymain(void)
{"raspberrypi", VIR_ARCH_ARMV6L},
{"f21-mustang", VIR_ARCH_AARCH64},
{"rhelsa-3.19.0-mustang", VIR_ARCH_AARCH64},
+ {"deconfigured-cpus", VIR_ARCH_PPC64},
};
if (virInitialize() < 0)
--
2.4.3
9 years, 4 months
[libvirt] [PATCH v3] nodeinfo: fix to parse present cpus rather than possible cpus
by Kothapally Madhu Pavan
Currently we are parsing all the possible cpus to get the
nodeinfo. This fix will perform a check for present cpus
before parsing.
Signed-off-by: Kothapally Madhu Pavan <kmp(a)linux.vnet.ibm.com>
---
src/nodeinfo.c | 11 +++++++++++
1 file changed, 11 insertions(+)
diff --git a/src/nodeinfo.c b/src/nodeinfo.c
index 2fafe2d..5689c9b 100644
--- a/src/nodeinfo.c
+++ b/src/nodeinfo.c
@@ -43,6 +43,7 @@
#include "c-ctype.h"
#include "viralloc.h"
#include "nodeinfopriv.h"
+#include "nodeinfo.h"
#include "physmem.h"
#include "virerror.h"
#include "count-one-bits.h"
@@ -418,6 +419,7 @@ virNodeParseNode(const char *node,
int processors = 0;
DIR *cpudir = NULL;
struct dirent *cpudirent = NULL;
+ virBitmapPtr present_cpumap = NULL;
int sock_max = 0;
cpu_set_t sock_map;
int sock;
@@ -438,12 +440,17 @@ virNodeParseNode(const char *node,
goto cleanup;
}
+ present_cpumap = nodeGetPresentCPUBitmap();
+
/* enumerate sockets in the node */
CPU_ZERO(&sock_map);
while ((direrr = virDirRead(cpudir, &cpudirent, node)) > 0) {
if (sscanf(cpudirent->d_name, "cpu%u", &cpu) != 1)
continue;
+ if (present_cpumap && !(virBitmapIsSet(present_cpumap, cpu)))
+ continue;
+
if ((online = virNodeGetCpuValue(node, cpu, "online", 1)) < 0)
goto cleanup;
@@ -477,6 +484,9 @@ virNodeParseNode(const char *node,
if (sscanf(cpudirent->d_name, "cpu%u", &cpu) != 1)
continue;
+ if (present_cpumap && !(virBitmapIsSet(present_cpumap, cpu)))
+ continue;
+
if ((online = virNodeGetCpuValue(node, cpu, "online", 1)) < 0)
goto cleanup;
@@ -537,6 +547,7 @@ virNodeParseNode(const char *node,
ret = -1;
}
VIR_FREE(core_maps);
+ virBitmapFree(present_cpumap);
return ret;
}
9 years, 4 months