On Wed, Feb 23, 2005 at 03:07:27PM -0800, Sean Hefty wrote: > Libor Michalek wrote: > > > 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. > > The scope of the MAD is limited by the mad_agent, which is defined per > consumer of the MAD layer, so the re-use of wr_id's between consumers > isn't an issue.
Ahh, got it, that was the source of my confusion. In which case it's just a race condition between executing the callback and the cancel, right? In which case the two have to occur under some form of exclusion. In the past I've used a spinlock protected variable to mark that the callback is being executed, in which case the cancel fails with a specific error code... -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
