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 _______________________________________________ openib-general mailing list [email protected] http://openib.org/mailman/listinfo/openib-general To unsubscribe, please visit http://openib.org/mailman/listinfo/openib-general
