Fix a test failure in the build environment, where /sys is missing. From . From a2cc4f2e2bf4a8bbdd61b578a62e27e7482799cf Mon Sep 17 00:00:00 2001 From: Brice Goglin 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 --- 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();