Can't think of any good reason -- the patch should be fine.

Thanks,

Brian

On Oct 28, 2007, at 7:13 AM, Gleb Natapov wrote:

Hi Brian,

 Is there a special reason why you call btl functions directly instead
of using bml wrappers? What about applying this patch?


diff --git a/ompi/mca/osc/rdma/osc_rdma_component.c b/ompi/mca/osc/ rdma/osc_rdma_component.c
index 2d0dc06..302dd9e 100644
--- a/ompi/mca/osc/rdma/osc_rdma_component.c
+++ b/ompi/mca/osc/rdma/osc_rdma_component.c
@@ -1044,9 +1044,8 @@ rdma_send_info_send(ompi_osc_rdma_module_t *module,
    ompi_osc_rdma_rdma_info_header_t *header = NULL;

    bml_btl = peer_send_info->bml_btl;
-    descriptor = bml_btl->btl_alloc(bml_btl->btl,
-                                    MCA_BTL_NO_ORDER,
- sizeof(ompi_osc_rdma_rdma_info_header_t));
+    mca_bml_base_alloc(bml_btl, &descriptor, MCA_BTL_NO_ORDER,
+            sizeof(ompi_osc_rdma_rdma_info_header_t));
    if (NULL == descriptor) {
        ret = OMPI_ERR_TEMP_OUT_OF_RESOURCE;
        goto cleanup;
diff --git a/ompi/mca/osc/rdma/osc_rdma_data_move.c b/ompi/mca/osc/ rdma/osc_rdma_data_move.c
index e9fd17c..e7b5813 100644
--- a/ompi/mca/osc/rdma/osc_rdma_data_move.c
+++ b/ompi/mca/osc/rdma/osc_rdma_data_move.c
@@ -454,10 +454,10 @@ ompi_osc_rdma_sendreq_send(ompi_osc_rdma_module_t *module,
        /* get a buffer... */
endpoint = (mca_bml_base_endpoint_t*) sendreq- >req_target_proc->proc_bml; bml_btl = mca_bml_base_btl_array_get_next(&endpoint- >btl_eager);
-        descriptor = bml_btl->btl_alloc(bml_btl->btl,
-                                        MCA_BTL_NO_ORDER,
- module->m_use_buffers ? bml_btl->btl_eager_limit : needed_len < bml_btl->btl_eager_limit ? needed_len :
-                                        bml_btl->btl_eager_limit);
+        mca_bml_base_alloc(bml_btl, &descriptor, MCA_BTL_NO_ORDER,
+                module->m_use_buffers ? bml_btl->btl_eager_limit :
+                needed_len < bml_btl->btl_eager_limit ? needed_len :
+                bml_btl->btl_eager_limit);
        if (NULL == descriptor) {
            ret = OMPI_ERR_TEMP_OUT_OF_RESOURCE;
            goto cleanup;
@@ -698,9 +698,8 @@ ompi_osc_rdma_replyreq_send(ompi_osc_rdma_module_t *module,
    /* Get a BTL and a fragment to go with it */
endpoint = (mca_bml_base_endpoint_t*) replyreq->rep_origin_proc- >proc_bml;
    bml_btl = mca_bml_base_btl_array_get_next(&endpoint->btl_eager);
-    descriptor = bml_btl->btl_alloc(bml_btl->btl,
-                                    MCA_BTL_NO_ORDER,
-                                    bml_btl->btl_eager_limit);
+    mca_bml_base_alloc(bml_btl, &descriptor, MCA_BTL_NO_ORDER,
+            bml_btl->btl_eager_limit);
    if (NULL == descriptor) {
        ret = OMPI_ERR_TEMP_OUT_OF_RESOURCE;
        goto cleanup;
@@ -1260,9 +1259,8 @@ ompi_osc_rdma_control_send(ompi_osc_rdma_module_t *module,
    /* Get a BTL and a fragment to go with it */
    endpoint = (mca_bml_base_endpoint_t*) proc->proc_bml;
    bml_btl = mca_bml_base_btl_array_get_next(&endpoint->btl_eager);
-    descriptor = bml_btl->btl_alloc(bml_btl->btl,
-                                    MCA_BTL_NO_ORDER,
- sizeof(ompi_osc_rdma_control_header_t));
+    mca_bml_base_alloc(bml_btl, &descriptor, MCA_BTL_NO_ORDER,
+            sizeof(ompi_osc_rdma_control_header_t));
    if (NULL == descriptor) {
        ret = OMPI_ERR_TEMP_OUT_OF_RESOURCE;
        goto cleanup;
@@ -1322,9 +1320,8 @@ ompi_osc_rdma_rdma_ack_send(ompi_osc_rdma_module_t *module,
    ompi_osc_rdma_control_header_t *header = NULL;

    /* Get a BTL and a fragment to go with it */
-    descriptor = bml_btl->btl_alloc(bml_btl->btl,
-                                    rdma_btl->rdma_order,
- sizeof(ompi_osc_rdma_control_header_t));
+    mca_bml_base_alloc(bml_btl, &descriptor, rdma_btl->rdma_order,
+            sizeof(ompi_osc_rdma_control_header_t));
    if (NULL == descriptor) {
        ret = OMPI_ERR_TEMP_OUT_OF_RESOURCE;
        goto cleanup;
--
                        Gleb.

Reply via email to