Skip to content

Commit 3be65a4

Browse files
committed
Ensure consistency between ompi and opal callback safety requirement
values. Signed-off-by: Chris Chambreau <chambreau1@llnl.gov>
1 parent 732c117 commit 3be65a4

File tree

3 files changed

+22
-9
lines changed

3 files changed

+22
-9
lines changed

configure.ac

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -191,6 +191,12 @@ AC_MSG_CHECKING([for boostrap Libtool version])
191191
ltversion=`grep VERSION= $srcdir/config/ltmain.sh | head -n 1 | cut -d= -f2`
192192
AC_MSG_RESULT([$ltversion])
193193

194+
# Ensure mpi.h.in and mca_base_event.h have consistent callback safety values
195+
AC_DEFINE_UNQUOTED([OPAL_MCA_BASE_CB_REQUIRE_NONE], [0], [Keeping OPAL and OMPI values in sync])
196+
AC_DEFINE_UNQUOTED([OPAL_MCA_BASE_CB_REQUIRE_MPI_RESTRICTED], [1], [Keeping OPAL and OMPI values in sync])
197+
AC_DEFINE_UNQUOTED([OPAL_MCA_BASE_CB_REQUIRE_THREAD_SAFE], [2], [Keeping OPAL and OMPI values in sync])
198+
AC_DEFINE_UNQUOTED([OPAL_MCA_BASE_CB_REQUIRE_ASYNC_SIGNAL_SAFE], [3], [Keeping OPAL and OMPI values in sync])
199+
194200
# List header files to generate
195201

196202
AC_CONFIG_HEADERS([opal/include/opal_config.h])
@@ -1426,6 +1432,7 @@ if test $ac_cv_header_sys_synch_h = yes ; then
14261432
[Do not use outside of mpi.h. Define to 1 if you have the <sys/synch.h> header file.])
14271433
fi
14281434
1435+
14291436
# If there is a local hook for each project, call it. This allows 3rd
14301437
# parties to add configuration steps to OPAL and/or OMPI simply
14311438
# by placing a file in [opal|ompi]/config/whatever.m4 that

ompi/include/mpi.h.in

Lines changed: 10 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -893,12 +893,18 @@ enum {
893893

894894
/*
895895
* MPIT callback safety levels
896+
*
897+
* Values are set in configure.ac for consistency with mca_base_event.h
896898
*/
899+
#undef OPAL_MCA_BASE_CB_REQUIRE_NONE
900+
#undef OPAL_MCA_BASE_CB_REQUIRE_MPI_RESTRICTED
901+
#undef OPAL_MCA_BASE_CB_REQUIRE_THREAD_SAFE
902+
#undef OPAL_MCA_BASE_CB_REQUIRE_ASYNC_SIGNAL_SAFE
897903
typedef enum {
898-
MPI_T_CB_REQUIRE_NONE,
899-
MPI_T_CB_REQUIRE_MPI_RESTRICTED,
900-
MPI_T_CB_REQUIRE_THREAD_SAFE,
901-
MPI_T_CB_REQUIRE_ASYNC_SIGNAL_SAFE
904+
MPI_T_CB_REQUIRE_NONE = OPAL_MCA_BASE_CB_REQUIRE_NONE,
905+
MPI_T_CB_REQUIRE_MPI_RESTRICTED = OPAL_MCA_BASE_CB_REQUIRE_MPI_RESTRICTED,
906+
MPI_T_CB_REQUIRE_THREAD_SAFE = OPAL_MCA_BASE_CB_REQUIRE_THREAD_SAFE,
907+
MPI_T_CB_REQUIRE_ASYNC_SIGNAL_SAFE = OPAL_MCA_BASE_CB_REQUIRE_ASYNC_SIGNAL_SAFE
902908
} MPI_T_cb_safety;
903909

904910
/*

opal/mca/base/mca_base_event.h

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -42,13 +42,13 @@ typedef enum {
4242
/**
4343
* @basic Callback safety levels
4444
*
45-
* If these are modified then similar modifications will be needed in mpi.h.in.
45+
* Values are set in configure.ac for consistency with mpi.h
4646
*/
4747
typedef enum {
48-
MCA_BASE_CB_REQUIRE_NONE,
49-
MCA_BASE_CB_REQUIRE_MPI_RESTRICTED,
50-
MCA_BASE_CB_REQUIRE_THREAD_SAFE,
51-
MCA_BASE_CB_REQUIRE_ASYNC_SIGNAL_SAFE,
48+
MCA_BASE_CB_REQUIRE_NONE = OPAL_MCA_BASE_CB_REQUIRE_NONE,
49+
MCA_BASE_CB_REQUIRE_MPI_RESTRICTED = OPAL_MCA_BASE_CB_REQUIRE_MPI_RESTRICTED,
50+
MCA_BASE_CB_REQUIRE_THREAD_SAFE = OPAL_MCA_BASE_CB_REQUIRE_THREAD_SAFE,
51+
MCA_BASE_CB_REQUIRE_ASYNC_SIGNAL_SAFE = OPAL_MCA_BASE_CB_REQUIRE_ASYNC_SIGNAL_SAFE,
5252
MCA_BASE_CB_SAFETY_MAX,
5353
} mca_base_cb_safety_t;
5454

0 commit comments

Comments
 (0)