From mboxrd@z Thu Jan 1 00:00:00 1970 From: pbonzini@redhat.com (Paolo Bonzini) Date: Mon, 08 Oct 2012 18:33:15 +0200 Subject: [lttng-dev] [URCU PATCH 1/3] wfcqueue: implement concurrency-efficient queue In-Reply-To: <20121008161544.GB30083@Krystal> References: <20121002141307.GA4057@Krystal> <20121002141444.GB4057@Krystal> <5072F57E.4020308@redhat.com> <20121008161544.GB30083@Krystal> Message-ID: <5073004B.2050400@redhat.com> 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