[lttng-dev] [URCU PATCH 1/3] wfcqueue: implement concurrency-efficient queue

Paolo Bonzini pbonzini at redhat.com
Mon Oct 8 12:33:15 EDT 2012


Il 08/10/2012 18:15, Mathieu Desnoyers ha scritto:
> Hi Paolo,
> 
> We actually already have those, they are just not described in this
> comment. I will fix this right away. By the way, you will notice the
> wording:
> 
> + * Queue read operations "first" and "next", which are used by
> + * "for_each" iterations, need to be protected against concurrent
> + * "dequeue" and "splice" (for source queue) by the caller.
> 
> Being the only one iterating on a queue with local head/tail after a
> splice operation is one way to provide mutual exclusion. Holding a lock
> is not the only way to achieve mutual exclusion.

Uh, I was confused by the _blocking suffix.  But when used together with
splice you know it is not blocking---only the splice will block.

Paolo



More information about the lttng-dev mailing list