diff --git a/oshmem/Makefile.am b/oshmem/Makefile.am index 3ceb7f4ae4..bae9a8a25c 100644 --- a/oshmem/Makefile.am +++ b/oshmem/Makefile.am @@ -78,6 +78,7 @@ include request/Makefile.am include runtime/Makefile.am include shmem/Makefile.am include tools/Makefile.am +include util/Makefile.am # Ensure that the man page directory exists before we try to make man # page files (because oshmem/shmem/man/man3 has no config.status-generated diff --git a/oshmem/include/oshmem/constants.h b/oshmem/include/oshmem/constants.h index 1ca651ce1c..e9609173f2 100644 --- a/oshmem/include/oshmem/constants.h +++ b/oshmem/include/oshmem/constants.h @@ -122,7 +122,5 @@ enum { #define MEMCHECKER(x) #endif /* OMPI_WANT_MEMCHECKER */ -void oshmem_output_verbose(int level, int output_id, const char* prefix, const char* file, int line, const char* function, const char* format, ...); - #endif /* OSHMEM_CONSTANTS_H */ diff --git a/oshmem/mca/atomic/basic/atomic_basic.h b/oshmem/mca/atomic/basic/atomic_basic.h index 39dc9f72e1..50b2af5782 100644 --- a/oshmem/mca/atomic/basic/atomic_basic.h +++ b/oshmem/mca/atomic/basic/atomic_basic.h @@ -15,6 +15,7 @@ #include "opal/mca/mca.h" #include "oshmem/mca/atomic/atomic.h" +#include "oshmem/util/oshmem_util.h" BEGIN_C_DECLS diff --git a/oshmem/mca/atomic/mxm/atomic_mxm.h b/oshmem/mca/atomic/mxm/atomic_mxm.h index e5fda9f640..b1df160a72 100644 --- a/oshmem/mca/atomic/mxm/atomic_mxm.h +++ b/oshmem/mca/atomic/mxm/atomic_mxm.h @@ -15,6 +15,7 @@ #include "opal/mca/mca.h" #include "oshmem/mca/atomic/atomic.h" +#include "oshmem/util/oshmem_util.h" /* This component does uses SPML:IKRIT */ #include "oshmem/mca/spml/ikrit/spml_ikrit.h" diff --git a/oshmem/mca/memheap/buddy/memheap_buddy.h b/oshmem/mca/memheap/buddy/memheap_buddy.h index e3b051abf1..978029b248 100644 --- a/oshmem/mca/memheap/buddy/memheap_buddy.h +++ b/oshmem/mca/memheap/buddy/memheap_buddy.h @@ -21,6 +21,7 @@ #include "oshmem/mca/memheap/memheap.h" #include "oshmem/mca/memheap/base/base.h" #include "oshmem/mca/spml/spml.h" +#include "oshmem/util/oshmem_util.h" #include "opal/class/opal_hash_table.h" #include "ompi/mca/btl/btl.h" #include diff --git a/oshmem/mca/memheap/ptmalloc/memheap_ptmalloc.h b/oshmem/mca/memheap/ptmalloc/memheap_ptmalloc.h index d18ec0a52f..05d6069009 100644 --- a/oshmem/mca/memheap/ptmalloc/memheap_ptmalloc.h +++ b/oshmem/mca/memheap/ptmalloc/memheap_ptmalloc.h @@ -21,6 +21,7 @@ #include "oshmem/mca/memheap/memheap.h" #include "oshmem/mca/memheap/base/base.h" #include "oshmem/mca/spml/spml.h" +#include "oshmem/util/oshmem_util.h" #include "opal/class/opal_hash_table.h" #include "ompi/mca/btl/btl.h" #include diff --git a/oshmem/mca/scoll/basic/scoll_basic.h b/oshmem/mca/scoll/basic/scoll_basic.h index 315a66f3c1..d22d766708 100644 --- a/oshmem/mca/scoll/basic/scoll_basic.h +++ b/oshmem/mca/scoll/basic/scoll_basic.h @@ -15,6 +15,7 @@ #include "opal/mca/mca.h" #include "oshmem/mca/scoll/scoll.h" +#include "oshmem/util/oshmem_util.h" BEGIN_C_DECLS diff --git a/oshmem/mca/scoll/fca/scoll_fca.h b/oshmem/mca/scoll/fca/scoll_fca.h index f688c14b90..04e7c14bc0 100644 --- a/oshmem/mca/scoll/fca/scoll_fca.h +++ b/oshmem/mca/scoll/fca/scoll_fca.h @@ -15,6 +15,7 @@ #include "shmem.h" #include "opal/mca/mca.h" #include "oshmem/mca/scoll/scoll.h" +#include "oshmem/util/oshmem_util.h" #include "scoll_fca_api.h" #include "scoll_fca_debug.h" diff --git a/oshmem/mca/spml/ikrit/spml_ikrit.h b/oshmem/mca/spml/ikrit/spml_ikrit.h index 6045718b42..e59630bd10 100644 --- a/oshmem/mca/spml/ikrit/spml_ikrit.h +++ b/oshmem/mca/spml/ikrit/spml_ikrit.h @@ -17,6 +17,7 @@ #include "oshmem_config.h" #include "oshmem/request/request.h" #include "oshmem/mca/spml/spml.h" +#include "oshmem/util/oshmem_util.h" #include "oshmem/mca/spml/base/spml_base_putreq.h" #include "oshmem/proc/proc.h" #include "oshmem/mca/spml/base/spml_base_request.h" diff --git a/oshmem/mca/spml/yoda/spml_yoda.h b/oshmem/mca/spml/yoda/spml_yoda.h index 195a0a1526..5e5b7c8d8c 100644 --- a/oshmem/mca/spml/yoda/spml_yoda.h +++ b/oshmem/mca/spml/yoda/spml_yoda.h @@ -17,6 +17,7 @@ #include "oshmem_config.h" #include "oshmem/request/request.h" #include "oshmem/mca/spml/spml.h" +#include "oshmem/util/oshmem_util.h" #include "oshmem/mca/spml/base/spml_base_putreq.h" #include "oshmem/proc/proc.h" #include "oshmem/mca/spml/base/spml_base_request.h" diff --git a/oshmem/runtime/oshmem_shmem_abort.c b/oshmem/runtime/oshmem_shmem_abort.c index aa9c33a801..10c3e2efa1 100644 --- a/oshmem/runtime/oshmem_shmem_abort.c +++ b/oshmem/runtime/oshmem_shmem_abort.c @@ -124,26 +124,3 @@ int oshmem_shmem_abort(int errcode) return OSHMEM_SUCCESS; } -void oshmem_output_verbose(int level, int output_id, const char* prefix, const char* file, int line, const char* function, const char* format, ...) -{ - va_list args; - char *buff, *str; - int ret = 0; - - UNREFERENCED_PARAMETER(ret); - - va_start(args, format); - - ret = vasprintf(&str, format, args); - assert(-1 != ret); - - ret = asprintf(&buff, "%s %s", prefix, str); - assert(-1 != ret); - - opal_output_verbose(level, output_id, buff, file, line, function); - - va_end(args); - - free(buff); - free(str); -} diff --git a/oshmem/shmem/shmem_api_logger.h b/oshmem/shmem/shmem_api_logger.h index a8337bf3ee..54d1ee5429 100644 --- a/oshmem/shmem/shmem_api_logger.h +++ b/oshmem/shmem/shmem_api_logger.h @@ -12,17 +12,20 @@ */ #ifndef SHMEM_API_LOGGER_H #define SHMEM_API_LOGGER_H + #include "oshmem_config.h" #include "opal/util/output.h" + +#include "oshmem/util/oshmem_util.h" + OSHMEM_DECLSPEC extern int shmem_api_logger_output; + #ifdef __BASE_FILE__ #define __SPML_FILE__ __BASE_FILE__ #else #define __SPML_FILE__ __FILE__ #endif -void oshmem_output_verbose(int level, int output_id, const char* prefix, const char* file, int line, const char* function, const char* format, ...); - #ifdef OPAL_ENABLE_DEBUG #define SHMEM_API_VERBOSE(level, ...) \ oshmem_output_verbose(level, shmem_api_logger_output, \ diff --git a/oshmem/util/Makefile.am b/oshmem/util/Makefile.am new file mode 100644 index 0000000000..f3419cd7da --- /dev/null +++ b/oshmem/util/Makefile.am @@ -0,0 +1,19 @@ +# +# Copyright (c) 2014 Mellanox Technologies, Inc. +# All rights reserved. +# # $COPYRIGHT$ +# +# Additional copyrights may follow +# +# $HEADER$ +# +# +# This makefile.am does not stand on its own - it is included from oshmem/Makefile.am + + +headers += \ + util/oshmem_util.h + +liboshmem_la_SOURCES += \ + util/oshmem_util.c + diff --git a/oshmem/util/oshmem_util.c b/oshmem/util/oshmem_util.c new file mode 100644 index 0000000000..7cbb9d1041 --- /dev/null +++ b/oshmem/util/oshmem_util.c @@ -0,0 +1,42 @@ +/* + * Copyright (c) 2014 Mellanox Technologies, Inc. + * All rights reserved. + * $COPYRIGHT$ + * + * Additional copyrights may follow + * + * $HEADER$ + */ + +#include "oshmem_config.h" +#include +#include + +#include "opal/util/output.h" + +#include "oshmem/constants.h" +#include "oshmem/util/oshmem_util.h" + +void oshmem_output_verbose(int level, int output_id, const char* prefix, const char* file, int line, const char* function, const char* format, ...) +{ + va_list args; + char *buff, *str; + int ret = 0; + + UNREFERENCED_PARAMETER(ret); + + va_start(args, format); + + ret = vasprintf(&str, format, args); + assert(-1 != ret); + + ret = asprintf(&buff, "%s %s", prefix, str); + assert(-1 != ret); + + opal_output_verbose(level, output_id, buff, file, line, function); + + va_end(args); + + free(buff); + free(str); +} diff --git a/oshmem/util/oshmem_util.h b/oshmem/util/oshmem_util.h new file mode 100644 index 0000000000..18c249666c --- /dev/null +++ b/oshmem/util/oshmem_util.h @@ -0,0 +1,16 @@ +/* + * Copyright (c) 2014 Mellanox Technologies, Inc. + * All rights reserved. + * $COPYRIGHT$ + * + * Additional copyrights may follow + * + * $HEADER$ + */ + +#ifndef OSHMEM_UTIL_H +#define OSHMEM_UTIL_H + +void oshmem_output_verbose(int level, int output_id, const char* prefix, const char* file, int line, const char* function, const char* format, ...); + +#endif /* OSHMEM_UTIL_H */