[openib-general] A question about sa_query

Hal Rosenstock halr at voltaire.com
Mon Oct 23 07:16:34 PDT 2006


On Mon, 2006-10-23 at 09:46, Roland Dreier wrote:
>  > There is something that bothers me in sa_query.
>  >  According to table 115 in the IB-SPEC when the status in the MAD hdr
>  >  is 1,2 or 3 it shouldn't be considered to as an error. (1 means busy,
>  >  2 means redirection, and 3 means both).
>  >  The function "recv_handler" in core/sa_query.c sets the status of the
>  >  sa_query before calling the callback function.
>  > It sets the status according to the status returned in the mad
>  > header. (mad_recv_wc->recv_buf.mad->mad_hdr.status)
>  >  If the status in the mad_hdr is different from 0 it sets the return
>  >  status to -EINVAL.
>  >  This mean that the higher layers (e.g., SRP) do not know what was the
>  >  exact status and therefore treat status 1 (busy) as an error.
>  >  Am I missing something?
> 
> No, you are right.
> 
> I know the spec says a "busy" status is not an error, but I've not
> seen anything actually return that, 

There may be SAs out there that utilize this feature.

> and I'm not sure what a consumer can usefully do with it.

A different retry strategy ?

> Also, we haven't tried handling SA redirection at all.  Your issue
> would be one thing we would have to fix if we did handle it.
> 
> So you are correct, and I wouldn't object to handling all this more
> intelligently, but I would want to see some consumer that cared, too.

Not only cared but handled it differently than other errors.

-- Hal

>  - R.





More information about the general mailing list