[ofw] IBAL CM ignores responder resources of the passive side

Hefty, Sean sean.hefty at intel.com
Wed Jun 22 09:04:18 PDT 2011


without looking at more of the code, it looks like a bug


> __save_user_rep(
> 
>                 IN
> cep_agent_t* const                                       p_port_cep,
> 
>                 IN
> kcep_t* const                                                   p_cep,
> 
>                 IN                           const     iba_cm_rep* const
> p_cm_rep,
> 
>                 IN
> uint8_t
> rnr_nak_timeout )
> 
> {
> 
>                 AL_ENTER( AL_DBG_CM );
> 
> 
> 
>                 p_cep->local_qpn = p_cm_rep->qpn;
> 
>                 p_cep->rq_psn = p_cm_rep->starting_psn;
> 
>                 p_cep->init_depth = p_cm_rep->init_depth;
> 
> 
> 


I think we can just always do the assignment:

	p_cep->resp_res = p_cm_rep->resp_res;

here.  Is the p_cep->resp_res the value that actually goes into the REP?


>                 ci_ca_lock_attr( p_port_cep->h_ca->obj.p_ci_ca );
> 
>                 /* Check the CA's responder resource max and trim if
> necessary. */
> 
>                 if( p_port_cep->h_ca->obj.p_ci_ca->p_pnp_attr-
> >max_qp_resp_res <


whine: The max_qp_resp_res isn't going to dynamically change.  We should use a saved value somewhere that doesn't require serializing all CM users for this check.

- Sean



More information about the ofw mailing list