[mpich2-commits] r7837 - in mpich2/trunk: . src/pm/hydra/tools/bind/hwloc/hwloc src/pm/hydra/tools/bind/hwloc/hwloc/src src/pm/hydra/tools/bind/hwloc/hwloc/utils
balaji at mcs.anl.gov
balaji at mcs.anl.gov
Wed Jan 26 10:48:18 CST 2011
Author: balaji
Date: 2011-01-26 10:48:18 -0600 (Wed, 26 Jan 2011)
New Revision: 7837
Modified:
mpich2/trunk/CHANGES
mpich2/trunk/src/pm/hydra/tools/bind/hwloc/hwloc/NEWS
mpich2/trunk/src/pm/hydra/tools/bind/hwloc/hwloc/VERSION
mpich2/trunk/src/pm/hydra/tools/bind/hwloc/hwloc/configure.ac
mpich2/trunk/src/pm/hydra/tools/bind/hwloc/hwloc/src/topology-linux.c
mpich2/trunk/src/pm/hydra/tools/bind/hwloc/hwloc/src/topology-windows.c
mpich2/trunk/src/pm/hydra/tools/bind/hwloc/hwloc/utils/hwloc-bind.c
Log:
Upgrade to hwloc-1.1.1. This commit should essentially allow hwloc to
be used without any modifications. All patches we had to maintain have
been pushed upstream.
No reviewer.
Modified: mpich2/trunk/CHANGES
===================================================================
--- mpich2/trunk/CHANGES 2011-01-26 16:48:17 UTC (rev 7836)
+++ mpich2/trunk/CHANGES 2011-01-26 16:48:18 UTC (rev 7837)
@@ -26,7 +26,7 @@
# PM/PMI: Several fixes and improvements to Hydra's process binding
capability.
- # PM/PMI: Upgrade the hwloc version to 1.1.1rc1.
+ # PM/PMI: Upgrade the hwloc version to 1.1.1.
# PM/PMI: Allow users to sort node lists allocated by resource
managers in Hydra.
Modified: mpich2/trunk/src/pm/hydra/tools/bind/hwloc/hwloc/NEWS
===================================================================
--- mpich2/trunk/src/pm/hydra/tools/bind/hwloc/hwloc/NEWS 2011-01-26 16:48:17 UTC (rev 7836)
+++ mpich2/trunk/src/pm/hydra/tools/bind/hwloc/hwloc/NEWS 2011-01-26 16:48:18 UTC (rev 7837)
@@ -21,6 +21,7 @@
-------------
* Add hwloc_get_api_version() which returns the version of hwloc used
at runtime. Thanks to Guy Streeter for the suggestion.
+* Fix the number of hugepages reported for NUMA nodes on Linux.
* Fix hwloc_bitmap_to_ulong() right after allocating the bitmap.
Thanks to Bernd Kallies for reporting the problem.
* Fix hwloc_bitmap_from_ith_ulong() to properly zero the first ulong.
Modified: mpich2/trunk/src/pm/hydra/tools/bind/hwloc/hwloc/VERSION
===================================================================
--- mpich2/trunk/src/pm/hydra/tools/bind/hwloc/hwloc/VERSION 2011-01-26 16:48:17 UTC (rev 7836)
+++ mpich2/trunk/src/pm/hydra/tools/bind/hwloc/hwloc/VERSION 2011-01-26 16:48:18 UTC (rev 7837)
@@ -16,7 +16,7 @@
# requirement is that it must be entirely printable ASCII characters
# and have no white space.
-greek=rc3
+greek=rc4
# If want_svn=1, then the SVN r number will be included in the overall
# hwloc version number in some form.
Modified: mpich2/trunk/src/pm/hydra/tools/bind/hwloc/hwloc/configure.ac
===================================================================
--- mpich2/trunk/src/pm/hydra/tools/bind/hwloc/hwloc/configure.ac 2011-01-26 16:48:17 UTC (rev 7836)
+++ mpich2/trunk/src/pm/hydra/tools/bind/hwloc/hwloc/configure.ac 2011-01-26 16:48:18 UTC (rev 7837)
@@ -147,8 +147,8 @@
# Setup libtool, but disable C++, F77, Java and Windows Resource
# Compiler support -- we don't need that stuff.
-AM_DISABLE_SHARED
-AM_ENABLE_STATIC
+AM_ENABLE_SHARED
+AM_DISABLE_STATIC
AM_PROG_LIBTOOL([win32-dll])
LT_LANG([C])
Modified: mpich2/trunk/src/pm/hydra/tools/bind/hwloc/hwloc/src/topology-linux.c
===================================================================
--- mpich2/trunk/src/pm/hydra/tools/bind/hwloc/hwloc/src/topology-linux.c 2011-01-26 16:48:17 UTC (rev 7836)
+++ mpich2/trunk/src/pm/hydra/tools/bind/hwloc/hwloc/src/topology-linux.c 2011-01-26 16:48:18 UTC (rev 7837)
@@ -1726,7 +1726,7 @@
hwloc_parse_meminfo_info(topology, meminfopath,
hwloc_snprintf(NULL, 0, "Node %d ", node),
&memory->local_memory,
- &meminfo_hugepages_count, &meminfo_hugepages_size,
+ &meminfo_hugepages_count, NULL /* no hugepage size in node-specific meminfo */,
memory->page_types == NULL);
if (memory->page_types) {
@@ -1735,12 +1735,14 @@
/* read from node%d/hugepages/hugepages-%skB/nr_hugepages */
hwloc_parse_hugepages_info(topology, path, memory, &remaining_local_memory);
} else {
+ /* get hugepage size from machine-specific meminfo since there is no size in node-specific meminfo,
+ * hwloc_get_procfs_meminfo_info must have been called earlier */
+ meminfo_hugepages_size = topology->levels[0][0]->memory.page_types[1].size;
/* use what we found in meminfo */
- /* hwloc_get_procfs_meminfo_info must have been called earlier */
if (meminfo_hugepages_size) {
memory->page_types[1].count = meminfo_hugepages_count;
- memory->page_types[1].size = topology->levels[0][0]->memory.page_types[1].size;
- remaining_local_memory -= meminfo_hugepages_count * memory->page_types[1].size;
+ memory->page_types[1].size = meminfo_hugepages_size;
+ remaining_local_memory -= meminfo_hugepages_count * meminfo_hugepages_size;
} else {
memory->page_types_len = 1;
}
Modified: mpich2/trunk/src/pm/hydra/tools/bind/hwloc/hwloc/src/topology-windows.c
===================================================================
--- mpich2/trunk/src/pm/hydra/tools/bind/hwloc/hwloc/src/topology-windows.c 2011-01-26 16:48:17 UTC (rev 7836)
+++ mpich2/trunk/src/pm/hydra/tools/bind/hwloc/hwloc/src/topology-windows.c 2011-01-26 16:48:18 UTC (rev 7837)
@@ -309,7 +309,7 @@
static int hwloc_win_get_VirtualAllocExNumaProc(void) {
if (VirtualAllocExNumaProc == NULL) {
- FARPROC alloc_fun, free_fun;
+ FARPROC alloc_fun = NULL, free_fun = NULL;
HMODULE kernel32;
kernel32 = LoadLibrary("kernel32.dll");
@@ -318,7 +318,7 @@
free_fun = GetProcAddress(kernel32, "VirtualFreeEx");
}
- if (!kernel32 || !alloc_fun || !free_fun) {
+ if (!alloc_fun || !free_fun) {
VirtualAllocExNumaProc = (FARPROC) -1;
errno = ENOSYS;
return -1;
@@ -378,7 +378,7 @@
static int hwloc_win_get_QueryWorkingSetExProc(void) {
if (QueryWorkingSetExProc == NULL) {
- FARPROC fun;
+ FARPROC fun = NULL;
HMODULE kernel32, psapi;
kernel32 = LoadLibrary("kernel32.dll");
Modified: mpich2/trunk/src/pm/hydra/tools/bind/hwloc/hwloc/utils/hwloc-bind.c
===================================================================
--- mpich2/trunk/src/pm/hydra/tools/bind/hwloc/hwloc/utils/hwloc-bind.c 2011-01-26 16:48:17 UTC (rev 7836)
+++ mpich2/trunk/src/pm/hydra/tools/bind/hwloc/hwloc/utils/hwloc-bind.c 2011-01-26 16:48:18 UTC (rev 7837)
@@ -181,7 +181,7 @@
if (err) {
const char *errmsg = strerror(errno);
if (pid)
- fprintf(stderr, "hwloc_get_proc_cpubind %d failed (errno %d %s)\n", pid, errno, errmsg);
+ fprintf(stderr, "hwloc_get_proc_cpubind %ld failed (errno %d %s)\n", (long) pid, errno, errmsg);
else
fprintf(stderr, "hwloc_get_cpubind failed (errno %d %s)\n", errno, errmsg);
return EXIT_FAILURE;
@@ -199,7 +199,7 @@
if (err) {
const char *errmsg = strerror(errno);
if (pid)
- fprintf(stderr, "hwloc_get_proc_membind %d failed (errno %d %s)\n", pid, errno, errmsg);
+ fprintf(stderr, "hwloc_get_proc_membind %ld failed (errno %d %s)\n", (long) pid, errno, errmsg);
else
fprintf(stderr, "hwloc_get_membind failed (errno %d %s)\n", errno, errmsg);
return EXIT_FAILURE;
@@ -215,7 +215,7 @@
case HWLOC_MEMBIND_INTERLEAVE: policystr = "interleave"; break;
case HWLOC_MEMBIND_REPLICATE: policystr = "replicate"; break;
case HWLOC_MEMBIND_NEXTTOUCH: policystr = "nexttouch"; break;
- default: fprintf(stderr, "unknown memory policy %u\n", policy); assert(0); break;
+ default: fprintf(stderr, "unknown memory policy %d\n", policy); assert(0); break;
}
}
if (policystr)
@@ -245,7 +245,7 @@
char *s;
hwloc_bitmap_asprintf(&s, membind_set);
if (pid)
- fprintf(stderr, "hwloc_set_proc_membind %s %d failed (errno %d %s)\n", s, pid, bind_errno, errmsg);
+ fprintf(stderr, "hwloc_set_proc_membind %s %ld failed (errno %d %s)\n", s, (long) pid, bind_errno, errmsg);
else
fprintf(stderr, "hwloc_set_membind %s failed (errno %d %s)\n", s, bind_errno, errmsg);
free(s);
@@ -271,7 +271,7 @@
char *s;
hwloc_bitmap_asprintf(&s, cpubind_set);
if (pid)
- fprintf(stderr, "hwloc_set_proc_cpubind %s %d failed (errno %d %s)\n", s, pid, bind_errno, errmsg);
+ fprintf(stderr, "hwloc_set_proc_cpubind %s %ld failed (errno %d %s)\n", s, (long) pid, bind_errno, errmsg);
else
fprintf(stderr, "hwloc_set_cpubind %s failed (errno %d %s)\n", s, bind_errno, errmsg);
free(s);
More information about the mpich2-commits
mailing list