This drops the connect latency from 200ms to 16. Needed for large NP clusters.
Signed-off-by: Steve Wise <[email protected]> --- .../fixes/iw_cxgb3_1300_rx_coalesce_off.patch | 24 ++++++++++++++++++++ 1 files changed, 24 insertions(+), 0 deletions(-) create mode 100644 kernel_patches/fixes/iw_cxgb3_1300_rx_coalesce_off.patch diff --git a/kernel_patches/fixes/iw_cxgb3_1300_rx_coalesce_off.patch b/kernel_patches/fixes/iw_cxgb3_1300_rx_coalesce_off.patch new file mode 100644 index 0000000..958b3b5 --- /dev/null +++ b/kernel_patches/fixes/iw_cxgb3_1300_rx_coalesce_off.patch @@ -0,0 +1,24 @@ +diff --git a/drivers/infiniband/hw/cxgb3/iwch_cm.c b/drivers/infiniband/hw/cxgb3/iwch_cm.c +index 52d7bb0..687a647 100644 +--- a/drivers/infiniband/hw/cxgb3/iwch_cm.c ++++ b/drivers/infiniband/hw/cxgb3/iwch_cm.c +@@ -486,7 +486,8 @@ static int send_connect(struct iwch_ep *ep) + V_MSS_IDX(mtu_idx) | + V_L2T_IDX(ep->l2t->idx) | V_TX_CHANNEL(ep->l2t->smt_idx); + opt0l = V_TOS((ep->tos >> 2) & M_TOS) | V_RCV_BUFSIZ(rcv_win>>10); +- opt2 = V_FLAVORS_VALID(1) | V_CONG_CONTROL_FLAVOR(cong_flavor); ++ opt2 = F_RX_COALESCE_VALID | V_RX_COALESCE(0) | V_FLAVORS_VALID(1) | ++ V_CONG_CONTROL_FLAVOR(cong_flavor); + skb->priority = CPL_PRIORITY_SETUP; + set_arp_failure_handler(skb, act_open_req_arp_failure); + +@@ -1302,7 +1303,8 @@ static void accept_cr(struct iwch_ep *ep, __be32 peer_ip, struct sk_buff *skb) + V_MSS_IDX(mtu_idx) | + V_L2T_IDX(ep->l2t->idx) | V_TX_CHANNEL(ep->l2t->smt_idx); + opt0l = V_TOS((ep->tos >> 2) & M_TOS) | V_RCV_BUFSIZ(rcv_win>>10); +- opt2 = V_FLAVORS_VALID(1) | V_CONG_CONTROL_FLAVOR(cong_flavor); ++ opt2 = F_RX_COALESCE_VALID | V_RX_COALESCE(0) | V_FLAVORS_VALID(1) | ++ V_CONG_CONTROL_FLAVOR(cong_flavor); + + rpl = cplhdr(skb); + rpl->wr.wr_hi = htonl(V_WR_OP(FW_WROPCODE_FORWARD)); _______________________________________________ ewg mailing list [email protected] http://lists.openfabrics.org/cgi-bin/mailman/listinfo/ewg
