42
42
#include <fcntl.h>
43
43
#include <stdlib.h>
44
44
#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
60
45
61
46
#include "opal/mca/event/event.h"
62
47
#include "opal/align.h"
@@ -123,7 +108,6 @@ static void btl_openib_handle_incoming_completion(mca_btl_base_module_t* btl,
123
108
* Local variables
124
109
*/
125
110
static mca_btl_openib_device_t * receive_queues_device = NULL ;
126
- static bool malloc_hook_set = false;
127
111
static int num_devices_intentionally_ignored = 0 ;
128
112
129
113
mca_btl_openib_component_t mca_btl_openib_component = {
@@ -147,30 +131,6 @@ mca_btl_openib_component_t mca_btl_openib_component = {
147
131
}
148
132
};
149
133
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
-
174
134
static int btl_openib_component_register (void )
175
135
{
176
136
int ret ;
@@ -257,16 +217,6 @@ static int btl_openib_component_close(void)
257
217
free (mca_btl_openib_component .default_recv_qps );
258
218
}
259
219
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
-
270
220
/* close memory registration debugging output */
271
221
opal_output_close (mca_btl_openib_component .memory_registration_verbose );
272
222
@@ -2547,20 +2497,6 @@ btl_openib_component_init(int *num_btl_modules,
2547
2497
* num_btl_modules = 0 ;
2548
2498
num_devs = 0 ;
2549
2499
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
-
2564
2500
/* Per https://svn.open-mpi.org/trac/ompi/ticket/1305, check to
2565
2501
see if $sysfsdir/class/infiniband exists. If it does not,
2566
2502
assume that the RDMA hardware drivers are not loaded, and
@@ -2960,13 +2896,6 @@ btl_openib_component_init(int *num_btl_modules,
2960
2896
2961
2897
mca_btl_openib_component .ib_num_btls = 0 ;
2962
2898
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
2970
2899
if (NULL != btls ) {
2971
2900
free (btls );
2972
2901
}
0 commit comments