From ba429dc8900ce8b7dc0c38943ab8a7c6faf8a63f Mon Sep 17 00:00:00 2001 From: Jeff Squyres Date: Thu, 9 Jul 2015 10:45:43 -0700 Subject: [PATCH] usnic: temporarily disable the BTL put method The usnic BTL put method is currently broken. Disable it until we can fix it properly. --- opal/mca/btl/usnic/btl_usnic_compat.c | 19 +++++++++++++++++++ opal/mca/btl/usnic/btl_usnic_module.c | 1 - 2 files changed, 19 insertions(+), 1 deletion(-) diff --git a/opal/mca/btl/usnic/btl_usnic_compat.c b/opal/mca/btl/usnic/btl_usnic_compat.c index fb08c8378f..d5ebb9274e 100644 --- a/opal/mca/btl/usnic/btl_usnic_compat.c +++ b/opal/mca/btl/usnic/btl_usnic_compat.c @@ -715,6 +715,25 @@ opal_btl_usnic_put(struct mca_btl_base_module_t *base_module, sfrag->sf_size = size; sfrag->sf_ack_bytes_left = size; + + + /* JMS NOTE: This is currently broken, and is deactivated by + removing the MCA_BTL_FLAGS_PUT from .btl_flags in btl_module.c. + + Overwriting the uf_local_seg values is not a good idea, and + doesn't do anything to actually send the data in the + progression past finish_put_or_send(). + + The proper fix is to change the plumbing here to eventually + call fi_sendv() with an iov[0] = the internal buffer that's + already allocated, and iov[1] = the user's buffer. The usnic + provider in fi_sendv() will be smart enough to figure out which + is more performance: memcpy'ing the 2 buffers together and + doing a single xfer down to the hardware, or actually doing a + SG list down to the hardware. */ + + + opal_btl_usnic_frag_t *frag; frag = &sfrag->sf_base; frag->uf_local_seg[0].seg_len = size; diff --git a/opal/mca/btl/usnic/btl_usnic_module.c b/opal/mca/btl/usnic/btl_usnic_module.c index 56aacfb9ae..a1277cb471 100644 --- a/opal/mca/btl/usnic/btl_usnic_module.c +++ b/opal/mca/btl/usnic/btl_usnic_module.c @@ -2338,7 +2338,6 @@ opal_btl_usnic_module_t opal_btl_usnic_module_template = { .btl_exclusivity = MCA_BTL_EXCLUSIVITY_DEFAULT, .btl_flags = MCA_BTL_FLAGS_SEND | - MCA_BTL_FLAGS_PUT | MCA_BTL_FLAGS_SEND_INPLACE, .btl_add_procs = usnic_add_procs,