Ah, so even the wfcqueue is a linked list under the covers? No ring buffer or 
other cache-friendly data structure types available?

      From: Mathieu Desnoyers <[email protected]>
 To: "Mark E. Dawson, Jr." <[email protected]> 
Cc: lttng-dev <[email protected]>
 Sent: Monday, June 6, 2016 3:08 PM
 Subject: Re: [lttng-dev] SPMC Queue in URCU
   

----- On Jun 6, 2016, at 2:48 PM, Mark E. Dawson, Jr. <[email protected]> 
wrote:

All,
Is there a data structure offered by Userspace RCU that provides a bounded 
single producer multiple consumer queue? Or are we better off just using the 
linked list URCU data structure despite the cpu cache implications?

Hi,
What we have in URCU is an unbounded SPMC queue (wfcqueue.h).You could 
theoretically use it with a counter to make it bounded, butit might not be as 
efficient as a bounded SPMC queue, since we usea linked list rather than a 
circular buffer. It would be interesting tocompare the performance of the two 
approaches.
Note that wfcqueue is wait-free on the enqueue, blocking on the
dequeue. It is used internally by URCU to implement the call_rcu
scheme.

Thanks,
Mathieu



_______________________________________________
lttng-dev mailing list
[email protected]
https://lists.lttng.org/cgi-bin/mailman/listinfo/lttng-dev


-- 
Mathieu Desnoyers
EfficiOS Inc.
http://www.efficios.com

   
_______________________________________________
lttng-dev mailing list
[email protected]
https://lists.lttng.org/cgi-bin/mailman/listinfo/lttng-dev

Reply via email to