Skip to content

Commit 9ac3f5f

Browse files
cchambreauhppritcha
authored andcommitted
Ensure consistency between ompi and opal callback safety requirement
values. Signed-off-by: Chris Chambreau <chambreau1@llnl.gov>
1 parent 88c7717 commit 9ac3f5f

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
@@ -190,6 +190,12 @@ AC_MSG_CHECKING([for bootstrap Libtool version])
190190
ltversion=`grep VERSION= $srcdir/config/ltmain.sh | head -n 1 | cut -d= -f2`
191191
AC_MSG_RESULT([$ltversion])
192192

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

195201
AC_CONFIG_HEADERS([opal/include/opal_config.h])
@@ -1399,6 +1405,7 @@ if test $ac_cv_header_sys_synch_h = yes ; then
13991405
[Do not use outside of mpi.h. Define to 1 if you have the <sys/synch.h> header file.])
14001406
fi
14011407
1408+
14021409
# If there is a local hook for each project, call it. This allows 3rd
14031410
# parties to add configuration steps to OPAL and/or OMPI simply
14041411
# 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
@@ -923,12 +923,18 @@ enum {
923923

924924
/*
925925
* MPIT callback safety levels
926+
*
927+
* Values are set in configure.ac for consistency with mca_base_event.h
926928
*/
929+
#undef OPAL_MCA_BASE_CB_REQUIRE_NONE
930+
#undef OPAL_MCA_BASE_CB_REQUIRE_MPI_RESTRICTED
931+
#undef OPAL_MCA_BASE_CB_REQUIRE_THREAD_SAFE
932+
#undef OPAL_MCA_BASE_CB_REQUIRE_ASYNC_SIGNAL_SAFE
927933
typedef enum {
928-
MPI_T_CB_REQUIRE_NONE,
929-
MPI_T_CB_REQUIRE_MPI_RESTRICTED,
930-
MPI_T_CB_REQUIRE_THREAD_SAFE,
931-
MPI_T_CB_REQUIRE_ASYNC_SIGNAL_SAFE
934+
MPI_T_CB_REQUIRE_NONE = OPAL_MCA_BASE_CB_REQUIRE_NONE,
935+
MPI_T_CB_REQUIRE_MPI_RESTRICTED = OPAL_MCA_BASE_CB_REQUIRE_MPI_RESTRICTED,
936+
MPI_T_CB_REQUIRE_THREAD_SAFE = OPAL_MCA_BASE_CB_REQUIRE_THREAD_SAFE,
937+
MPI_T_CB_REQUIRE_ASYNC_SIGNAL_SAFE = OPAL_MCA_BASE_CB_REQUIRE_ASYNC_SIGNAL_SAFE
932938
} MPI_T_cb_safety;
933939

934940
/*

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)