[openib-general] create QP failure
Kyle Schochenmaier
kschoche at scl.ameslab.gov
Fri Feb 24 08:31:06 PST 2006
Fabian Tillier wrote:
>On 2/22/06, Roland Dreier <rdreier at cisco.com> wrote:
>
>
>> Kyle> The second ibv_create_qp() call fails for some reason, even
>> Kyle> though it's being initialized with the same attributes as
>> Kyle> the first call/qp. I didnt see anything in particular that
>> Kyle> said this should break on updating to the latest rc's. Have
>> Kyle> I missed a major change which would cause this to break now?
>>
>>It should still work. There was a change to the interface, so that
>>the kernel now returns the real QP capacities so libibverbs can give
>>you the true QP attributes that your QP was created with. This
>>probably introduced a bug somewhere.
>>
>>
>
>Roland, is the attribute structure now being used as an output
>parameter when it wasn't before? If so, what happens if the output
>from one create_qp call gets passed as input into another?
>
>And Kyle, did the application reset the attributes before the second
>call, or just pass the output of the first call as input to the
>second?
>
>- Fab
>
>
>
>
>
In my case, where I was pretty much literally calling:
ibv_create_qp(c->qp,&attr);
check_for_errors();
ibv_create_qp(c->qp_ack,&attr);
check_for_errors();
The second create_qp call failed over.
So maybe the answer to your question about parameter passing can be
discovered from that ;)
Apparently it is (now?) necessary to use a seperate - or 'reset' the
old one - ibv_qp_init_attr struct to pass to subsequent ibv_create_qp()
calls.
Previously I had been unaware of this, and was able to get by with
using the same init_attr's passed to both create_qp(*) calls.
I guess I just needed to zero out some of the values that got set
inside the create_qp() call, it makes sense that I would need to do this..
thanks,
- Kyle
--
Kyle Schochenmaier
kschoche at scl.ameslab.gov
Research Assistant, Dr. Brett Bode
AmesLab - US Dept.Energy
Scalable Computing Laboratory
More information about the general
mailing list