|
9 | 9 | * University of Stuttgart. All rights reserved.
|
10 | 10 | * Copyright (c) 2004-2005 The Regents of the University of California.
|
11 | 11 | * All rights reserved.
|
12 |
| - * Copyright (c) 2007-2015 Los Alamos National Security, LLC. All rights |
| 12 | + * Copyright (c) 2007-2016 Los Alamos National Security, LLC. All rights |
13 | 13 | * reserved.
|
14 | 14 | * Copyright (c) 2006-2008 University of Houston. All rights reserved.
|
15 | 15 | * Copyright (c) 2010 Oracle and/or its affiliates. All rights reserved.
|
@@ -265,14 +265,21 @@ static int ompi_osc_rdma_component_init (bool enable_progress_threads,
|
265 | 265 | }
|
266 | 266 |
|
267 | 267 | OBJ_CONSTRUCT(&mca_osc_rdma_component.aggregate, opal_free_list_t);
|
268 |
| - ret = opal_free_list_init (&mca_osc_rdma_component.aggregate, |
269 |
| - sizeof(ompi_osc_rdma_aggregation_t), 8, |
270 |
| - OBJ_CLASS(ompi_osc_rdma_aggregation_t), 0, 0, |
271 |
| - 32, 128, 32, NULL, 0, NULL, NULL, NULL); |
272 |
| - if (OPAL_SUCCESS != ret) { |
273 |
| - opal_output_verbose(1, ompi_osc_base_framework.framework_output, |
274 |
| - "%s:%d: opal_free_list_init failed: %d\n", |
275 |
| - __FILE__, __LINE__, ret); |
| 268 | + |
| 269 | + if (!enable_mpi_threads && mca_osc_rdma_component.aggregation_limit) { |
| 270 | + ret = opal_free_list_init (&mca_osc_rdma_component.aggregate, |
| 271 | + sizeof(ompi_osc_rdma_aggregation_t), 8, |
| 272 | + OBJ_CLASS(ompi_osc_rdma_aggregation_t), 0, 0, |
| 273 | + 32, 128, 32, NULL, 0, NULL, NULL, NULL); |
| 274 | + |
| 275 | + if (OPAL_SUCCESS != ret) { |
| 276 | + opal_output_verbose(1, ompi_osc_base_framework.framework_output, |
| 277 | + "%s:%d: opal_free_list_init failed: %d\n", |
| 278 | + __FILE__, __LINE__, ret); |
| 279 | + } |
| 280 | + } else { |
| 281 | + /* only enable put aggregation when not using threads */ |
| 282 | + mca_osc_rdma_component.aggregation_limit = 0; |
276 | 283 | }
|
277 | 284 |
|
278 | 285 | return ret;
|
|
0 commit comments