[openib-general] ib_cancel_mad and the CM
Libor Michalek
libor at topspin.com
Wed Feb 23 14:55:50 PST 2005
On Wed, Feb 23, 2005 at 02:46:42PM -0800, Sean Hefty wrote:
> Libor Michalek wrote:
>
> > Are you saying that the layer which assigns the wr_id is not the
> > same layer that actually executes the cancel? That would seem like
> > a recipe for problems.
>
> No. For both the CM and SA query code, the layer that assigns the
> wr_id executes the cancel. For the CM, it's the fact that the
> assignment goes to a pointer, which would allow two MADs sent one after
> the other's completion to use the same wr_id.
No, what I'm saying is that having the CM assigns the wr_id, and then
having the mad code actually executes the cancel, is a problem. There is
nothing to prevent multiple mad consumers from using the same wr_id, in
fact I would assume it. If you want to use wr_id as a handle that the
mad layer can use to lookup a message, then the mad layer needs to be
where the wr_id is assigned/generated. Either that or you need some other
identifier which you can use to cancel messages.
In my opinion using pointers in the wr_id is bad for other reasons,
this is a problem with the scope of a certain value. The assignment and
cancel execution have to occur in the same scope.
-Libor
More information about the general
mailing list