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

Reply via email to