[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-Id: <20070822083051.11964.70799.sendpatchset@localhost.localdomain>
Date: Wed, 22 Aug 2007 14:00:51 +0530
From: Krishna Kumar <krkumar2@...ibm.com>
To: johnpol@....mipt.ru, herbert@...dor.apana.org.au, hadi@...erus.ca,
kaber@...sh.net, shemminger@...ux-foundation.org,
davem@...emloft.net
Cc: jagana@...ibm.com, Robert.Olsson@...a.slu.se,
peter.p.waskiewicz.jr@...el.com, xma@...ibm.com, gaagaan@...il.com,
kumarkr@...ux.ibm.com, rdreier@...co.com, rick.jones2@...com,
mcarlson@...adcom.com, jeff@...zik.org,
general@...ts.openfabrics.org, mchan@...adcom.com, tgraf@...g.ch,
netdev@...r.kernel.org, Krishna Kumar <krkumar2@...ibm.com>,
sri@...ibm.com
Subject: [PATCH 7/10 Rev4] [IPoIB] Verbs changes
IPoIB verb changes to use batching.
Signed-off-by: Krishna Kumar <krkumar2@...ibm.com>
---
ipoib_verbs.c | 23 ++++++++++++++---------
1 files changed, 14 insertions(+), 9 deletions(-)
diff -ruNp org/drivers/infiniband/ulp/ipoib/ipoib_verbs.c new/drivers/infiniband/ulp/ipoib/ipoib_verbs.c
--- org/drivers/infiniband/ulp/ipoib/ipoib_verbs.c 2007-08-20 14:26:26.000000000 +0530
+++ new/drivers/infiniband/ulp/ipoib/ipoib_verbs.c 2007-08-22 08:33:51.000000000 +0530
@@ -152,11 +152,11 @@ int ipoib_transport_dev_init(struct net_
.max_send_sge = 1,
.max_recv_sge = 1
},
- .sq_sig_type = IB_SIGNAL_ALL_WR,
+ .sq_sig_type = IB_SIGNAL_REQ_WR, /* 11.2.4.1 */
.qp_type = IB_QPT_UD
};
-
- int ret, size;
+ struct ib_send_wr *next_wr = NULL;
+ int i, ret, size;
priv->pd = ib_alloc_pd(priv->ca);
if (IS_ERR(priv->pd)) {
@@ -197,12 +197,17 @@ int ipoib_transport_dev_init(struct net_
priv->dev->dev_addr[2] = (priv->qp->qp_num >> 8) & 0xff;
priv->dev->dev_addr[3] = (priv->qp->qp_num ) & 0xff;
- priv->tx_sge.lkey = priv->mr->lkey;
-
- priv->tx_wr.opcode = IB_WR_SEND;
- priv->tx_wr.sg_list = &priv->tx_sge;
- priv->tx_wr.num_sge = 1;
- priv->tx_wr.send_flags = IB_SEND_SIGNALED;
+ for (i = ipoib_sendq_size - 1; i >= 0; i--) {
+ priv->tx_sge[i].lkey = priv->mr->lkey;
+ priv->tx_wr[i].opcode = IB_WR_SEND;
+ priv->tx_wr[i].sg_list = &priv->tx_sge[i];
+ priv->tx_wr[i].num_sge = 1;
+ priv->tx_wr[i].send_flags = 0;
+
+ /* Link the list properly for provider to use */
+ priv->tx_wr[i].next = next_wr;
+ next_wr = &priv->tx_wr[i];
+ }
return 0;
-
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Powered by blists - more mailing lists