Michael Raymond, le Thu 19 Nov 2009 14:33:49 -0600, a écrit :
> --- hwloc-0.9.2/src/topology-linux.c 2009-11-03 16:40:31.000000000 -0600
> +++ hwloc-new//src/topology-linux.c 2009-11-19 14:20:43.630035434 -0600
> @@ -536,6 +536,10 @@
> struct dirent *dirent;
> hwloc_obj_t node;
>
> + if (topology->ignored_types[HWLOC_OBJ_NODE] ==
> HWLOC_IGNORE_TYPE_ALWAYS) {
> + return;
> + }
> +
> dir = hwloc_opendir(path, topology->backend_params.sysfs.root_fd);
> if (dir)
> {
Mmm, indeed. And it will happen on other OSes where we get the
distances too, e.g. Solaris. Does the attached more generic patch
properly fixes it too?
> Also I'm concerned about the value of CPUSET_MASK_LEN in
> hwloc_admin_disable_set_from_cpuset(). It's only 64 characters but our
> Linux boxes can have to 2048 processors. I don't think there's any harm
> in bumping that up a little.
Mmm, even better, we can avoid using a constant size completely, I've
commited a fix.
Samuel
Index: src/topology.c
===================================================================
--- src/topology.c (révision 1364)
+++ src/topology.c (copie de travail)
@@ -298,6 +298,9 @@
if (getenv("HWLOC_IGNORE_DISTANCES"))
return;
+ if (topology->ignored_types[HWLOC_OBJ_NODE] == HWLOC_IGNORE_TYPE_ALWAYS)
+ return;
+
#ifdef HWLOC_DEBUG
hwloc_debug("node distance matrix:\n");
hwloc_debug(" ");