4242#include <fcntl.h>
4343#include <stdlib.h>
4444#include <stddef.h>
45- #if BTL_OPENIB_MALLOC_HOOKS_ENABLED
46- /*
47- * The include of malloc.h below breaks abstractions in OMPI (by
48- * directly including a header file from another component), but has
49- * been ruled "ok" because the openib component is only supported on
50- * Linux.
51- *
52- * The malloc hooks in newer glibc were deprecated, including stock
53- * malloc.h causes compilation warnings. Instead, we use the internal
54- * linux component malloc.h which does not cause these warnings.
55- * Internally, OMPI uses the built-in ptmalloc from the linux memory
56- * component anyway.
57- */
58- #include "opal/mca/memory/linux/malloc.h"
59- #endif
6045
6146#include "opal/mca/event/event.h"
6247#include "opal/align.h"
@@ -123,7 +108,6 @@ static void btl_openib_handle_incoming_completion(mca_btl_base_module_t* btl,
123108 * Local variables
124109 */
125110static mca_btl_openib_device_t * receive_queues_device = NULL ;
126- static bool malloc_hook_set = false;
127111static int num_devices_intentionally_ignored = 0 ;
128112
129113mca_btl_openib_component_t mca_btl_openib_component = {
@@ -147,30 +131,6 @@ mca_btl_openib_component_t mca_btl_openib_component = {
147131 }
148132};
149133
150- #if BTL_OPENIB_MALLOC_HOOKS_ENABLED
151- /* This is a memory allocator hook. The purpose of this is to make
152- * every malloc aligned since this speeds up IB HCA work.
153- * There two basic cases here:
154- *
155- * 1. Memory manager for Open MPI is enabled. Then memalign below will
156- * be overridden by __memalign_hook which is set to
157- * opal_memory_linux_memalign_hook. Thus, _malloc_hook is going to
158- * use opal_memory_linux_memalign_hook.
159- *
160- * 2. No memory manager support. The memalign below is just regular glibc
161- * memalign which will be called through __malloc_hook instead of malloc.
162- */
163- static void * btl_openib_malloc_hook (size_t sz , const void * caller )
164- {
165- if (sz < mca_btl_openib_component .memalign_threshold &&
166- malloc_hook_set ) {
167- return mca_btl_openib_component .previous_malloc_hook (sz , caller );
168- } else {
169- return memalign (mca_btl_openib_component .use_memalign , sz );
170- }
171- }
172- #endif
173-
174134static int btl_openib_component_register (void )
175135{
176136 int ret ;
@@ -257,16 +217,6 @@ static int btl_openib_component_close(void)
257217 free (mca_btl_openib_component .default_recv_qps );
258218 }
259219
260- #if BTL_OPENIB_MALLOC_HOOKS_ENABLED
261- /* Must check to see whether the malloc hook was set before
262- assigning it back because ompi_info will call _register() and
263- then _close() (which won't set the hook) */
264- if (malloc_hook_set ) {
265- __malloc_hook = mca_btl_openib_component .previous_malloc_hook ;
266- malloc_hook_set = false;
267- }
268- #endif
269-
270220 /* close memory registration debugging output */
271221 opal_output_close (mca_btl_openib_component .memory_registration_verbose );
272222
@@ -2547,20 +2497,6 @@ btl_openib_component_init(int *num_btl_modules,
25472497 * num_btl_modules = 0 ;
25482498 num_devs = 0 ;
25492499
2550- #if BTL_OPENIB_MALLOC_HOOKS_ENABLED
2551- /* If we got this far, then setup the memory alloc hook (because
2552- we're most likely going to be using this component). The hook
2553- is to be set up as early as possible in this function since we
2554- want most of the allocated resources be aligned.*/
2555- if (mca_btl_openib_component .use_memalign > 0 &&
2556- (opal_mem_hooks_support_level () &
2557- (OPAL_MEMORY_FREE_SUPPORT | OPAL_MEMORY_CHUNK_SUPPORT )) != 0 ) {
2558- mca_btl_openib_component .previous_malloc_hook = __malloc_hook ;
2559- __malloc_hook = btl_openib_malloc_hook ;
2560- malloc_hook_set = true;
2561- }
2562- #endif
2563-
25642500 /* Per https://svn.open-mpi.org/trac/ompi/ticket/1305, check to
25652501 see if $sysfsdir/class/infiniband exists. If it does not,
25662502 assume that the RDMA hardware drivers are not loaded, and
@@ -2960,13 +2896,6 @@ btl_openib_component_init(int *num_btl_modules,
29602896
29612897 mca_btl_openib_component .ib_num_btls = 0 ;
29622898 btl_openib_modex_send ();
2963- #if BTL_OPENIB_MALLOC_HOOKS_ENABLED
2964- /*Unset malloc hook since the component won't start*/
2965- if (malloc_hook_set ) {
2966- __malloc_hook = mca_btl_openib_component .previous_malloc_hook ;
2967- malloc_hook_set = false;
2968- }
2969- #endif
29702899 if (NULL != btls ) {
29712900 free (btls );
29722901 }
0 commit comments