43 lines
1.8 KiB
Diff
43 lines
1.8 KiB
Diff
|
Fix a test failure in the build environment, where /sys is missing.
|
||
|
From <https://github.com/bgoglin/hwloc/commit/a2cc4f2e2bf4a8bbdd61b578a62e27e7482799cf.patch>.
|
||
|
|
||
|
From a2cc4f2e2bf4a8bbdd61b578a62e27e7482799cf Mon Sep 17 00:00:00 2001
|
||
|
From: Brice Goglin <Brice.Goglin@inria.fr>
|
||
|
Date: Tue, 6 Feb 2018 17:13:26 +0100
|
||
|
Subject: [PATCH] linux: honor the filtering cores and packages when reading
|
||
|
topology from cpuinfo
|
||
|
|
||
|
Caused a make check crash in lstopo --filter all:none in chroot without sysfs.
|
||
|
|
||
|
Thanks to Ludovic Courtes for the report.
|
||
|
|
||
|
Signed-off-by: Brice Goglin <Brice.Goglin@inria.fr>
|
||
|
---
|
||
|
hwloc/topology-linux.c | 6 ++++--
|
||
|
1 file changed, 4 insertions(+), 2 deletions(-)
|
||
|
|
||
|
diff --git a/hwloc/topology-linux.c b/hwloc/topology-linux.c
|
||
|
index 290da0d72..e1bbf94e1 100644
|
||
|
--- a/hwloc/topology-linux.c
|
||
|
+++ b/hwloc/topology-linux.c
|
||
|
@@ -4101,7 +4101,8 @@ look_cpuinfo(struct hwloc_topology *topology,
|
||
|
}
|
||
|
/* create package objects */
|
||
|
hwloc_debug("%u pkgs%s\n", numpkgs, missingpkg ? ", but some missing package" : "");
|
||
|
- if (!missingpkg && numpkgs>0) {
|
||
|
+ if (!missingpkg && numpkgs>0
|
||
|
+ && hwloc_filter_check_keep_object_type(topology, HWLOC_OBJ_PACKAGE)) {
|
||
|
for (i = 0; i < numpkgs; i++) {
|
||
|
struct hwloc_obj *obj = hwloc_alloc_setup_object(topology, HWLOC_OBJ_PACKAGE, Lpkg_to_Ppkg[i]);
|
||
|
int doneinfos = 0;
|
||
|
@@ -4145,7 +4146,8 @@ look_cpuinfo(struct hwloc_topology *topology,
|
||
|
}
|
||
|
/* create Core objects */
|
||
|
hwloc_debug("%u cores%s\n", numcores, missingcore ? ", but some missing core" : "");
|
||
|
- if (!missingcore && numcores>0) {
|
||
|
+ if (!missingcore && numcores>0
|
||
|
+ && hwloc_filter_check_keep_object_type(topology, HWLOC_OBJ_CORE)) {
|
||
|
for (i = 0; i < numcores; i++) {
|
||
|
struct hwloc_obj *obj = hwloc_alloc_setup_object(topology, HWLOC_OBJ_CORE, Lcore_to_Pcore[i]);
|
||
|
obj->cpuset = hwloc_bitmap_alloc();
|