[ewg] [PATCH ofed-1.5.2 2/2] cxgb3: Turn off RX coalescing for iwarp connections.
Steve Wise
swise at opengridcomputing.com
Sat Sep 18 17:45:56 PDT 2010
This drops the connect latency from 200ms to 16. Needed for large
NP clusters.
Signed-off-by: Steve Wise <swise at opengridcomputing.com>
---
.../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));
More information about the ewg
mailing list