Skip to content

Commit 49e9936

Browse files
committed
mtl/portals4: Some little patches
1 parent b87ed1a commit 49e9936

File tree

4 files changed

+31
-23
lines changed

4 files changed

+31
-23
lines changed

ompi/mca/mtl/portals4/mtl_portals4.h

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -42,23 +42,23 @@ struct mca_mtl_portals4_module_t {
4242
mca_mtl_base_module_t base;
4343

4444
/* add_procs() can get called multiple times. this prevents multiple calls to portals4_init_interface(). */
45-
int need_init;
45+
int32_t need_init;
4646

4747
/* Use the logical to physical table to accelerate portals4 adressing: 1 (true) : 0 (false) */
48-
int use_logical;
48+
int32_t use_logical;
4949
/* Use flow control: 1 (true) : 0 (false) */
50-
int use_flowctl;
50+
int32_t use_flowctl;
5151

5252
/** Eager limit; messages greater than this use a rendezvous protocol */
53-
unsigned long long eager_limit;
53+
uint64_t eager_limit;
5454
/** Size of short message blocks */
55-
unsigned long long recv_short_size;
55+
uint64_t recv_short_size;
5656
/** Number of short message blocks which should be created during startup */
57-
int recv_short_num;
57+
uint32_t recv_short_num;
5858
/** Length of the send event queues */
59-
int send_queue_size;
59+
uint32_t send_queue_size;
6060
/** Length of the receive event queues */
61-
int recv_queue_size;
61+
uint32_t recv_queue_size;
6262
/** Protocol for long message transfer */
6363
enum { eager, rndv } protocol;
6464

ompi/mca/mtl/portals4/mtl_portals4_component.c

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -224,7 +224,7 @@ ompi_mtl_portals4_component_open(void)
224224
ompi_mtl_portals4.send_eq_h = PTL_INVALID_HANDLE;
225225
ompi_mtl_portals4.recv_eq_h = PTL_INVALID_HANDLE;
226226
ompi_mtl_portals4.zero_md_h = PTL_INVALID_HANDLE;
227-
227+
ompi_mtl_portals4.send_md_h = PTL_INVALID_HANDLE;
228228
ompi_mtl_portals4.long_overflow_me_h = PTL_INVALID_HANDLE;
229229
ompi_mtl_portals4.recv_idx = (ptl_pt_index_t) ~0UL;
230230
ompi_mtl_portals4.read_idx = (ptl_pt_index_t) ~0UL;
@@ -364,6 +364,7 @@ ompi_mtl_portals4_component_init(bool enable_progress_threads,
364364
"My nid,pid = %x,%x",
365365
id.phys.nid, id.phys.pid));
366366

367+
ompi_mtl_portals4.base.mtl_max_tag = MTL_PORTALS4_MAX_TAG;
367368
return &ompi_mtl_portals4.base;
368369

369370
error:

ompi/mca/mtl/portals4/mtl_portals4_recv.c

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -91,6 +91,7 @@ ompi_mtl_portals4_recv_progress(ptl_event_t *ev,
9191
opal_output_verbose(1, ompi_mtl_base_framework.framework_output,
9292
"%s:%d: PTL_EVENT_PUT with ni_fail_type: %d",
9393
__FILE__, __LINE__, ev->ni_fail_type);
94+
ret = PTL_FAIL;
9495
goto callback_error;
9596
}
9697

@@ -118,7 +119,7 @@ ompi_mtl_portals4_recv_progress(ptl_event_t *ev,
118119
to pull the second part of the message. */
119120
ret = read_msg((char*) ptl_request->delivery_ptr + ompi_mtl_portals4.eager_limit,
120121
((msg_length > ptl_request->delivery_len) ?
121-
ptl_request->delivery_len : msg_length) - ompi_mtl_portals4.eager_limit,
122+
ptl_request->delivery_len : msg_length) - ompi_mtl_portals4.eager_limit,
122123
ev->initiator,
123124
ev->hdr_data,
124125
ompi_mtl_portals4.eager_limit,
@@ -159,6 +160,7 @@ ompi_mtl_portals4_recv_progress(ptl_event_t *ev,
159160
opal_output_verbose(1, ompi_mtl_base_framework.framework_output,
160161
"%s:%d: PTL_EVENT_REPLY with ni_fail_type: %d",
161162
__FILE__, __LINE__, ev->ni_fail_type);
163+
ret = PTL_FAIL;
162164
goto callback_error;
163165
}
164166

@@ -204,6 +206,7 @@ ompi_mtl_portals4_recv_progress(ptl_event_t *ev,
204206
opal_output_verbose(1, ompi_mtl_base_framework.framework_output,
205207
"%s:%d: PTL_EVENT_PUT_OVERFLOW with ni_fail_type: %d",
206208
__FILE__, __LINE__, ev->ni_fail_type);
209+
ret = PTL_FAIL;
207210
goto callback_error;
208211
}
209212

@@ -285,7 +288,7 @@ ompi_mtl_portals4_recv_progress(ptl_event_t *ev,
285288

286289
ret = read_msg((char*) ptl_request->delivery_ptr + ev->mlength,
287290
((msg_length > ptl_request->delivery_len) ?
288-
ptl_request->delivery_len : msg_length) - ev->mlength,
291+
ptl_request->delivery_len : msg_length) - ev->mlength,
289292
ev->initiator,
290293
ev->hdr_data,
291294
ev->mlength,

ompi/mca/mtl/portals4/mtl_portals4_recv_short.c

Lines changed: 16 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -37,6 +37,7 @@ static int
3737
ompi_mtl_portals4_recv_block_progress(ptl_event_t *ev,
3838
ompi_mtl_portals4_base_request_t* ptl_base_request)
3939
{
40+
int ret = OMPI_SUCCESS;
4041
ompi_mtl_portals4_recv_short_request_t *ptl_request =
4142
(ompi_mtl_portals4_recv_short_request_t*) ptl_base_request;
4243
ompi_mtl_portals4_recv_short_block_t *block = ptl_request->block;
@@ -58,10 +59,10 @@ ompi_mtl_portals4_recv_block_progress(ptl_event_t *ev,
5859
opal_list_remove_item(&ompi_mtl_portals4.recv_short_blocks,
5960
&block->base);
6061
OPAL_THREAD_UNLOCK(&ompi_mtl_portals4.short_block_mutex);
61-
ompi_mtl_portals4_recv_short_block_free(block);
62+
ret = ompi_mtl_portals4_recv_short_block_free(block);
6263
} else {
6364
OPAL_THREAD_UNLOCK(&ompi_mtl_portals4.short_block_mutex);
64-
ompi_mtl_portals4_activate_block(block);
65+
ret = ompi_mtl_portals4_activate_block(block);
6566
}
6667
break;
6768

@@ -89,12 +90,12 @@ ompi_mtl_portals4_recv_block_progress(ptl_event_t *ev,
8990
opal_list_remove_item(&ompi_mtl_portals4.recv_short_blocks,
9091
&block->base);
9192
OPAL_THREAD_UNLOCK(&ompi_mtl_portals4.short_block_mutex);
92-
ompi_mtl_portals4_recv_short_block_free(block);
93+
ret = ompi_mtl_portals4_recv_short_block_free(block);
9394
} else {
9495
OPAL_THREAD_UNLOCK(&ompi_mtl_portals4.short_block_mutex);
9596
OPAL_OUTPUT_VERBOSE((10, ompi_mtl_base_framework.framework_output,
9697
"mtl:portals4 PTL_EVENT_AUTO_UNLINK received after PTL_EVENT_AUTO_FREE"));
97-
ompi_mtl_portals4_activate_block(block);
98+
ret = ompi_mtl_portals4_activate_block(block);
9899
}
99100
break;
100101

@@ -133,7 +134,7 @@ ompi_mtl_portals4_recv_block_progress(ptl_event_t *ev,
133134
break;
134135
}
135136

136-
return OMPI_SUCCESS;
137+
return ret;
137138
}
138139

139140

@@ -227,7 +228,8 @@ ompi_mtl_portals4_activate_block(ompi_mtl_portals4_recv_short_block_t *block)
227228
int
228229
ompi_mtl_portals4_recv_short_init(void)
229230
{
230-
int i;
231+
int ret = OMPI_SUCCESS;
232+
uint32_t i;
231233

232234
OBJ_CONSTRUCT(&ompi_mtl_portals4.short_block_mutex, opal_mutex_t);
233235
OBJ_CONSTRUCT(&(ompi_mtl_portals4.recv_short_blocks), opal_list_t);
@@ -241,33 +243,35 @@ ompi_mtl_portals4_recv_short_init(void)
241243
}
242244
opal_list_append(&ompi_mtl_portals4.recv_short_blocks,
243245
&block->base);
244-
ompi_mtl_portals4_activate_block(block);
246+
ret = ompi_mtl_portals4_activate_block(block);
245247
}
246248

247-
return OMPI_SUCCESS;
249+
return ret;
248250
}
249251

250252

251253
int
252254
ompi_mtl_portals4_recv_short_fini(void)
253255
{
254256
opal_list_item_t *item;
257+
int ret = OMPI_SUCCESS;
255258

256259
OPAL_THREAD_LOCK(&ompi_mtl_portals4.short_block_mutex);
257260
while (NULL != (item = opal_list_remove_first(&ompi_mtl_portals4.recv_short_blocks))) {
258261
ompi_mtl_portals4_recv_short_block_t *block =
259262
(ompi_mtl_portals4_recv_short_block_t*) item;
260-
ompi_mtl_portals4_recv_short_block_free(block);
263+
ret = ompi_mtl_portals4_recv_short_block_free(block);
261264
}
262265
OPAL_THREAD_UNLOCK(&ompi_mtl_portals4.short_block_mutex);
263266

264-
return OMPI_SUCCESS;
267+
return ret;
265268
}
266269

267270

268271
int
269272
ompi_mtl_portals4_recv_short_link(int count)
270273
{
274+
int ret = OMPI_SUCCESS;
271275
int active = ompi_mtl_portals4.active_recv_short_blocks;
272276
int i;
273277

@@ -278,9 +282,9 @@ ompi_mtl_portals4_recv_short_link(int count)
278282
if (NULL == block) {
279283
return OMPI_ERR_OUT_OF_RESOURCE;
280284
}
281-
ompi_mtl_portals4_activate_block(block);
285+
ret = ompi_mtl_portals4_activate_block(block);
282286
}
283287
}
284288

285-
return OMPI_SUCCESS;
289+
return ret;
286290
}

0 commit comments

Comments
 (0)