> > --- A/ulp/ipoib_NDIS6_CM/kernel/ipoib_endpoint.cpp Wed Aug 04 > > 10:30:43 2010 > > +++ B/ulp/ipoib_NDIS6_CM/kernel/ipoib_endpoint.cpp Wed Aug 04 > > 10:28:59 2010 > > @@ -888,9 +888,10 @@ > > p_port->p_adapter->p_ifc->modify_qp( p_endpt- > > >conn.h_send_qp, &mod_attr ); > > p_port->p_adapter->p_ifc->modify_qp( p_endpt- > > >conn.h_recv_qp, &mod_attr ); > > > > - for( i = 0; i < MAX_RECV_WC; i++ ) > > - wc[i].p_next = &wc[i + 1]; > > - wc[MAX_RECV_WC - 1].p_next = NULL; > > + for( p_free_wc=wc; p_free_wc < &wc[MAX_RECV_WC]; p_free_wc++ ) > > + p_free_wc->p_next = p_free_wc + 1; > > + > > + (--p_free_wc)->p_next = NULL;
Personally, I don't like the use of (--p_free_wc) here. This results in updating (extra memory write) p_free_wc outside of the loop, plus a second write to wc[MAX_RECV_WC - 1].p_next, because the first write was incorrect. I realize that the original code had this update as well, but can't we just end the loop one iteration earlier? - Sean _______________________________________________ ofw mailing list [email protected] http://lists.openfabrics.org/cgi-bin/mailman/listinfo/ofw
