[ofw] RE: [IPoIB CM] patch makes priority for remotely initiated connection.
Alex Estrin
alex.estrin at qlogic.com
Tue Jan 20 12:21:16 PST 2009
Hi Fab,
Just noticed a typo in a subject line.
I guess my new glasses are not as good as should be :(
> -----Original Message-----
> From: Fab Tillier [mailto:ftillier at windows.microsoft.com]
> Sent: Tuesday, January 20, 2009 12:09 PM
> To: Alex Estrin; ofw at lists.openfabrics.org
> Subject: RE: [IPoIB CM] patch makes proprity for remotely
> initiated connection.
>
> > Index: kernel/ipoib_cm.c
> > ===================================================================
> > --- kernel/ipoib_cm.c (revision 1856)
> > +++ kernel/ipoib_cm.c (working copy)
> > @@ -666,9 +666,9 @@
> > IPOIB_PRINT( TRACE_LEVEL_INFORMATION, IPOIB_DBG_INIT,
> > ("Endpoint [ %p ] CONNECT ACCEPTED\n", p_endpt ) );
> >
> > - InterlockedCompareExchangePointer(
> > + InterlockedExchangePointer(
> > (void *)&p_endpt->conn.h_work_qp,
> > - p_endpt->conn.h_recv_qp,
> (void *)NULL
> > );
> > + p_endpt->conn.h_recv_qp );
>
> What happens to the original QP (h_work_qp)? Is it tracked
> elsewhere and freed?
Yes, one endpoint connection can have one or two RC queue pairs.
Windows never sends connect request if it is already connected or in a process, so it uses only one RC QP for CM path.
While Linux always sends CREQ even if it already accepted remote one, so for Linux-windows pair t
Both QP handlers are tracked in endpt_conn_t struct. Freed on endpoint destruction.
typedef struct _endpt_conn
{
ib_net64_t service_id;
cm_private_data_t private_data;
ib_qp_handle_t h_send_qp;
ib_qp_handle_t h_recv_qp;
ib_qp_handle_t h_work_qp;
ib_cq_handle_t h_send_cq;
ib_cq_handle_t h_recv_cq;
ib_listen_handle_t h_cm_listen;
cm_state_t state;
} endpt_conn_t;
Alex.
>
> >
> > cl_obj_lock( &p_port->obj );
> > if( endpt_cm_set_state( p_endpt, IPOIB_CM_CONNECTED ) !=
> > IPOIB_CM_CONNECTED )
> >
> > _______________________________________________
> > ofw mailing list
> > ofw at lists.openfabrics.org
> > http://lists.openfabrics.org/cgi-bin/mailman/listinfo/ofw
>
>
More information about the ofw
mailing list