[mpich2-commits] r9545 - in mpich2/trunk/src/pm/hydra/tools/topo/hwloc/hwloc: . contrib include src
balaji at mcs.anl.gov
balaji at mcs.anl.gov
Tue Feb 28 11:42:33 CST 2012
Author: balaji
Date: 2012-02-28 11:42:32 -0600 (Tue, 28 Feb 2012)
New Revision: 9545
Added:
mpich2/trunk/src/pm/hydra/tools/topo/hwloc/hwloc/contrib/hwloc-valgrind.supp
Modified:
mpich2/trunk/src/pm/hydra/tools/topo/hwloc/hwloc/Makefile.am
mpich2/trunk/src/pm/hydra/tools/topo/hwloc/hwloc/NEWS
mpich2/trunk/src/pm/hydra/tools/topo/hwloc/hwloc/VERSION
mpich2/trunk/src/pm/hydra/tools/topo/hwloc/hwloc/include/hwloc.h
mpich2/trunk/src/pm/hydra/tools/topo/hwloc/hwloc/src/bind.c
Log:
Update to hwloc-1.4.1rc2 to test it out (in preparation for the 1.4.1
release). Simple tests work well. More thorough testing is needed.
Modified: mpich2/trunk/src/pm/hydra/tools/topo/hwloc/hwloc/Makefile.am
===================================================================
--- mpich2/trunk/src/pm/hydra/tools/topo/hwloc/hwloc/Makefile.am 2012-02-28 05:32:10 UTC (rev 9544)
+++ mpich2/trunk/src/pm/hydra/tools/topo/hwloc/hwloc/Makefile.am 2012-02-28 17:42:32 UTC (rev 9545)
@@ -22,6 +22,11 @@
pkgconfig_DATA = hwloc.pc
endif
+# Only install the valgrind suppressions file if we're building in standalone mode
+if HWLOC_BUILD_STANDALONE
+dist_pkgdata_DATA = contrib/hwloc-valgrind.supp
+endif
+
#
# "make distcheck" requires that tarballs are able to be able to "make
# dist", so we have to include config/distscript.csh.
Modified: mpich2/trunk/src/pm/hydra/tools/topo/hwloc/hwloc/NEWS
===================================================================
--- mpich2/trunk/src/pm/hydra/tools/topo/hwloc/hwloc/NEWS 2012-02-28 05:32:10 UTC (rev 9544)
+++ mpich2/trunk/src/pm/hydra/tools/topo/hwloc/hwloc/NEWS 2012-02-28 17:42:32 UTC (rev 9545)
@@ -1,6 +1,6 @@
Copyright © 2009 CNRS
Copyright © 2009-2011 inria. All rights reserved.
-Copyright © 2009-2011 Université Bordeaux 1
+Copyright © 2009-2012 Université Bordeaux 1
Copyright © 2009-2011 Cisco Systems, Inc. All rights reserved.
$COPYRIGHT$
@@ -20,11 +20,16 @@
Version 1.4.1
-------------
* This release contains all changes from v1.3.2.
+* Fix hwloc_alloc_membind, thanks Karl Napf for reporting the issue.
+* Fix memory leaks in some get_membind() functions.
+* Fix helpers converting from Linux libnuma to hwloc (hwloc/linux-libnuma.h)
+ in case of out-of-order NUMA node ids.
* Fix some overzealous assertions in the distance grouping code.
* Workaround BIOS reporting empty I/O locality in cuda and openfabrics
helpers on Linux. Thanks to Albert Solernou for reporting the problem.
-* Fix helpers converting from Linux libnuma to hwloc (hwloc/linux-libnuma.h)
- in case of out-of-order NUMA node ids.
+* Install a valgrind suppressions file hwloc-valgrind.supp (see the FAQ).
+* Fix memory binding documentation. Thanks to Karl Napf for reporting the
+ issues.
Version 1.4.0 (does not contain all v1.3.2 changes)
Modified: mpich2/trunk/src/pm/hydra/tools/topo/hwloc/hwloc/VERSION
===================================================================
--- mpich2/trunk/src/pm/hydra/tools/topo/hwloc/hwloc/VERSION 2012-02-28 05:32:10 UTC (rev 9544)
+++ mpich2/trunk/src/pm/hydra/tools/topo/hwloc/hwloc/VERSION 2012-02-28 17:42:32 UTC (rev 9545)
@@ -16,7 +16,7 @@
# requirement is that it must be entirely printable ASCII characters
# and have no white space.
-greek=rc1
+greek=rc3
# If want_repo_rev=1, then the SVN r number will be included in the overall
# hwloc version number in some form.
Added: mpich2/trunk/src/pm/hydra/tools/topo/hwloc/hwloc/contrib/hwloc-valgrind.supp
===================================================================
--- mpich2/trunk/src/pm/hydra/tools/topo/hwloc/hwloc/contrib/hwloc-valgrind.supp (rev 0)
+++ mpich2/trunk/src/pm/hydra/tools/topo/hwloc/hwloc/contrib/hwloc-valgrind.supp 2012-02-28 17:42:32 UTC (rev 9545)
@@ -0,0 +1,31 @@
+# Copyright © 2012 inria. All rights reserved.
+# See COPYING in top-level directory.
+
+# suppressions file to be passed to valgrind with
+# --suppressions=/path/to/hwloc-valgrind.supp
+
+# zlib (brought by libpci or libxml2) doesn't cleanup its global state
+{
+ inflate_init
+ Memcheck:Cond
+ fun:inflateReset2
+ fun:inflateInit2_
+}
+
+# hwloc cannot free the global parser (with xmlCleanupParser()) because other threads may be using it
+{
+ xml_init_parser
+ Memcheck:Leak
+ ...
+ fun:xmlInitParser
+}
+
+# hwloc cannot free the global xml dict RMutex because it cannot call xmlCleanupParser() as explained above
+{
+ xml_dict_create_new_rmutex
+ Memcheck:Leak
+ fun:malloc
+ fun:xmlNewRMutex
+ ...
+ fun:xmlDictCreate
+}
Modified: mpich2/trunk/src/pm/hydra/tools/topo/hwloc/hwloc/include/hwloc.h
===================================================================
--- mpich2/trunk/src/pm/hydra/tools/topo/hwloc/hwloc/include/hwloc.h 2012-02-28 05:32:10 UTC (rev 9544)
+++ mpich2/trunk/src/pm/hydra/tools/topo/hwloc/hwloc/include/hwloc.h 2012-02-28 17:42:32 UTC (rev 9545)
@@ -1536,7 +1536,10 @@
* Pages are individually
* bound to the local NUMA
* node of the first thread
- * that touches it.
+ * that touches it. If there is not
+ * enough memory on the node, allocation
+ * may be done in the specified cpuset
+ * before allocating on other nodes.
* \hideinitializer */
HWLOC_MEMBIND_BIND = 2, /**< \brief Allocate memory on the specified nodes.
* \hideinitializer */
@@ -1959,9 +1962,9 @@
/** \brief Allocate some memory on the given physical nodeset \p nodeset
*
- * \return -1 with errno set to ENOSYS if the action is not supported
+ * \return NULL with errno set to ENOSYS if the action is not supported
* and HWLOC_MEMBIND_STRICT is given
- * \return -1 with errno set to EXDEV if the binding cannot be enforced
+ * \return NULL with errno set to EXDEV if the binding cannot be enforced
* and HWLOC_MEMBIND_STRICT is given
*
* \note The allocated memory should be freed with hwloc_free().
@@ -1970,9 +1973,9 @@
/** \brief Allocate some memory on memory nodes near the given physical cpuset \p cpuset
*
- * \return -1 with errno set to ENOSYS if the action is not supported
+ * \return NULL with errno set to ENOSYS if the action is not supported
* and HWLOC_MEMBIND_STRICT is given
- * \return -1 with errno set to EXDEV if the binding cannot be enforced
+ * \return NULL with errno set to EXDEV if the binding cannot be enforced
* and HWLOC_MEMBIND_STRICT is given
*
* \note The allocated memory should be freed with hwloc_free().
Modified: mpich2/trunk/src/pm/hydra/tools/topo/hwloc/hwloc/src/bind.c
===================================================================
--- mpich2/trunk/src/pm/hydra/tools/topo/hwloc/hwloc/src/bind.c 2012-02-28 05:32:10 UTC (rev 9544)
+++ mpich2/trunk/src/pm/hydra/tools/topo/hwloc/hwloc/src/bind.c 2012-02-28 17:42:32 UTC (rev 9545)
@@ -1,7 +1,7 @@
/*
* Copyright © 2009 CNRS
* Copyright © 2009-2011 inria. All rights reserved.
- * Copyright © 2009-2010 Université Bordeaux 1
+ * Copyright © 2009-2010, 2012 Université Bordeaux 1
* Copyright © 2011 Cisco Systems, Inc. All rights reserved.
* See COPYING in top-level directory.
*/
@@ -327,6 +327,7 @@
if (!ret)
hwloc_cpuset_from_nodeset(topology, set, nodeset);
+ hwloc_bitmap_free(nodeset);
return ret;
}
@@ -382,6 +383,7 @@
if (!ret)
hwloc_cpuset_from_nodeset(topology, set, nodeset);
+ hwloc_bitmap_free(nodeset);
return ret;
}
@@ -436,6 +438,7 @@
if (!ret)
hwloc_cpuset_from_nodeset(topology, set, nodeset);
+ hwloc_bitmap_free(nodeset);
return ret;
}
@@ -531,7 +534,7 @@
hwloc_nodeset_t nodeset = hwloc_bitmap_alloc();
void *ret;
- if (!hwloc_fix_membind_cpuset(topology, nodeset, set)) {
+ if (hwloc_fix_membind_cpuset(topology, nodeset, set)) {
if (flags & HWLOC_MEMBIND_STRICT)
ret = NULL;
else
More information about the mpich2-commits
mailing list