Modify IPOIB CM to use a lockless SRQ

IPOIB CM uses NAPI which allows the poll function to be lockless.
This patches modifies IPOIB to utilize this.

Signed-off-by: Eli Cohen <[EMAIL PROTECTED]>

---

Index: ofa_kernel-1.2.5/drivers/infiniband/ulp/ipoib/ipoib_cm.c
===================================================================
--- ofa_kernel-1.2.5.orig/drivers/infiniband/ulp/ipoib/ipoib_cm.c       
2007-10-10 15:10:30.000000000 +0200
+++ ofa_kernel-1.2.5/drivers/infiniband/ulp/ipoib/ipoib_cm.c    2007-10-10 
15:28:52.000000000 +0200
@@ -1292,6 +1292,9 @@ int ipoib_cm_dev_init(struct net_device 
                        .max_sge = IPOIB_CM_RX_SG
                }
        };
+       struct ib_srq_attr attr = {
+               .use_lock = 0,
+       };
        int ret, i;
 
        INIT_LIST_HEAD(&priv->cm.passive_ids);
@@ -1316,6 +1319,12 @@ int ipoib_cm_dev_init(struct net_device 
                return ret;
        }
 
+       ret = ib_modify_srq(priv->cm.srq, &attr, IB_SRQ_LOCKNESS);
+       if (ret) {
+               ipoib_cm_dev_cleanup(dev);
+                return ret;
+       }
+
        priv->cm.srq_ring = kzalloc(ipoib_recvq_size * sizeof 
*priv->cm.srq_ring,
                                    GFP_KERNEL);
        if (!priv->cm.srq_ring) {

_______________________________________________
general mailing list
[email protected]
http://lists.openfabrics.org/cgi-bin/mailman/listinfo/general

To unsubscribe, please visit http://openib.org/mailman/listinfo/openib-general

Reply via email to