[mpich-commits] [mpich] MPICH primary repository branch, master, updated. v3.2b3-56-g2efebed
Service Account
noreply at mpich.org
Thu Jun 11 09:39:28 CDT 2015
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "MPICH primary repository".
The branch, master has been updated
via 2efebedc447b05d307d708a4f579b03ee64df814 (commit)
via 9d149761cc5bfd3395b1ecce35b7b3903f9646b5 (commit)
via 6d9d084ae73b87af05f8be7cb817468d46595e12 (commit)
from c229b00e9f8a0e5acbc4cff8cac8957a46a9d6d5 (commit)
Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.
- Log -----------------------------------------------------------------
http://git.mpich.org/mpich.git/commitdiff/2efebedc447b05d307d708a4f579b03ee64df814
commit 2efebedc447b05d307d708a4f579b03ee64df814
Author: Xin Zhao <xinzhao3 at illinois.edu>
Date: Sun Jun 7 09:53:48 2015 -0500
Bug-fix: free lock entry queue when it was allocated.
Originally we allocate the lock entry queue in Win_create/allocate
(if no_locks is not set), and free the queue in Win_free (if no_locks
is not set). This is not correct because no_locks may be set after
Win_create/allocate and before Win_free. In this patch, we free
the queue in Win_free if the queue was allocated in Win_create/allocate.
Thanks to Lisandro Dalcin [dalcinl at gmail.com] for reporting this bug.
Fix #2273
Signed-off-by: Pavan Balaji <balaji at anl.gov>
diff --git a/src/mpid/ch3/src/mpidi_rma.c b/src/mpid/ch3/src/mpidi_rma.c
index 58a55a6..4cbec01 100644
--- a/src/mpid/ch3/src/mpidi_rma.c
+++ b/src/mpid/ch3/src/mpidi_rma.c
@@ -241,7 +241,7 @@ int MPIDI_Win_free(MPID_Win ** win_ptr)
MPIU_Free((*win_ptr)->op_pool_start);
MPIU_Free((*win_ptr)->target_pool_start);
MPIU_Free((*win_ptr)->slots);
- if (!(*win_ptr)->info_args.no_locks) {
+ if ((*win_ptr)->lock_entry_pool_start != NULL) {
MPIU_Free((*win_ptr)->lock_entry_pool_start);
}
MPIU_Assert((*win_ptr)->current_lock_data_bytes == 0);
http://git.mpich.org/mpich.git/commitdiff/9d149761cc5bfd3395b1ecce35b7b3903f9646b5
commit 9d149761cc5bfd3395b1ecce35b7b3903f9646b5
Author: Xin Zhao <xinzhao3 at illinois.edu>
Date: Sun Jun 7 09:36:43 2015 -0500
Bug-fix: fix typo error in Win_set_info.
Thanks to Lisandro Dalcin [dalcinl at gmail.com] for reporting this bug.
Signed-off-by: Pavan Balaji <balaji at anl.gov>
diff --git a/src/mpid/ch3/src/ch3u_win_fns.c b/src/mpid/ch3/src/ch3u_win_fns.c
index 974ef66..45b7007 100644
--- a/src/mpid/ch3/src/ch3u_win_fns.c
+++ b/src/mpid/ch3/src/ch3u_win_fns.c
@@ -304,8 +304,8 @@ int MPIDI_Win_set_info(MPID_Win * win, MPID_Info * info)
if (info_flag) {
if (!strncmp(info_value, "true", strlen("true")))
win->info_args.no_locks = 1;
- if (!strncmp(info_value, "false", strlen("true")))
- win->info_args.no_locks = 1;
+ if (!strncmp(info_value, "false", strlen("false")))
+ win->info_args.no_locks = 0;
}
}
http://git.mpich.org/mpich.git/commitdiff/6d9d084ae73b87af05f8be7cb817468d46595e12
commit 6d9d084ae73b87af05f8be7cb817468d46595e12
Author: Xin Zhao <xinzhao3 at illinois.edu>
Date: Sun Jun 7 09:55:06 2015 -0500
Add tests of setting window info no_locks to TRUE / FALSE.
Signed-off-by: Pavan Balaji <balaji at anl.gov>
diff --git a/test/mpi/rma/win_info.c b/test/mpi/rma/win_info.c
index 3a2222d..7a3ee3a 100644
--- a/test/mpi/rma/win_info.c
+++ b/test/mpi/rma/win_info.c
@@ -7,6 +7,7 @@
#include <stdio.h>
#include <mpi.h>
+#include <string.h>
#include "mpitest.h"
#define VERBOSE 0
@@ -26,11 +27,13 @@ int main(int argc, char **argv) {
MPI_Comm_rank(MPI_COMM_WORLD, &rank);
MPI_Comm_size(MPI_COMM_WORLD, &nproc);
+ MPI_Win_allocate(sizeof(int), sizeof(int), MPI_INFO_NULL, MPI_COMM_WORLD, &base, &win);
+
+ /* Test#1: setting and getting invalid key */
+
MPI_Info_create(&info_in);
MPI_Info_set(info_in, invalid_key, "true");
- MPI_Win_allocate(sizeof(int), sizeof(int), MPI_INFO_NULL, MPI_COMM_WORLD, &base, &win);
-
MPI_Win_set_info(win, info_in);
MPI_Win_get_info(win, &info_out);
@@ -45,9 +48,55 @@ int main(int argc, char **argv) {
}
#endif
+ MPI_Info_free(&info_in);
+ MPI_Info_free(&info_out);
+
+ /* Test#2: setting info key "no_lock" to false and getting the key */
+
+ MPI_Info_create(&info_in);
+ MPI_Info_set(info_in, "no_locks", "false");
+
+ MPI_Win_set_info(win, info_in);
+ MPI_Win_get_info(win, &info_out);
+
MPI_Info_get(info_out, "no_locks", MPI_MAX_INFO_VAL, buf, &flag);
+ if (!flag || strncmp(buf, "false", strlen("false")) != 0) {
+ if (!flag)
+ printf("%d: no_locks is not defined\n", rank);
+ else
+ printf("%d: no_locks = %s, expected false\n", rank, buf);
+ errors++;
+ }
if (flag && VERBOSE) printf("%d: no_locks = %s\n", rank, buf);
+ MPI_Info_free(&info_in);
+ MPI_Info_free(&info_out);
+
+ /* Test#3: setting info key "no_lock" to true and getting the key */
+
+ MPI_Info_create(&info_in);
+ MPI_Info_set(info_in, "no_locks", "true");
+
+ MPI_Win_set_info(win, info_in);
+ MPI_Win_get_info(win, &info_out);
+
+ MPI_Info_get(info_out, "no_locks", MPI_MAX_INFO_VAL, buf, &flag);
+ if (!flag || strncmp(buf, "true", strlen("true")) != 0) {
+ if (!flag)
+ printf("%d: no_locks is not defined\n", rank);
+ else
+ printf("%d: no_locks = %s, expected true\n", rank, buf);
+ errors++;
+ }
+ if (flag && VERBOSE) printf("%d: no_locks = %s\n", rank, buf);
+
+ MPI_Info_free(&info_in);
+ MPI_Info_free(&info_out);
+
+ /* Test#4: getting other info keys */
+
+ MPI_Win_get_info(win, &info_out);
+
MPI_Info_get(info_out, "accumulate_ordering", MPI_MAX_INFO_VAL, buf, &flag);
if (flag && VERBOSE) printf("%d: accumulate_ordering = %s\n", rank, buf);
@@ -60,7 +109,6 @@ int main(int argc, char **argv) {
MPI_Info_get(info_out, "alloc_shm", MPI_MAX_INFO_VAL, buf, &flag);
if (flag && VERBOSE) printf("%d: alloc_shm = %s\n", rank, buf);
- MPI_Info_free(&info_in);
MPI_Info_free(&info_out);
MPI_Win_free(&win);
-----------------------------------------------------------------------
Summary of changes:
src/mpid/ch3/src/ch3u_win_fns.c | 4 +-
src/mpid/ch3/src/mpidi_rma.c | 2 +-
test/mpi/rma/win_info.c | 54 ++++++++++++++++++++++++++++++++++++--
3 files changed, 54 insertions(+), 6 deletions(-)
hooks/post-receive
--
MPICH primary repository
More information about the commits
mailing list