[lttng-dev] SPMC Queue in URCU

Mark E. Dawson, Jr. medawsonjr at yahoo.com
Mon Jun 6 20:19:02 UTC 2016


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 <mathieu.desnoyers at efficios.com>
 To: "Mark E. Dawson, Jr." <medawsonjr at yahoo.com> 
Cc: lttng-dev <lttng-dev at lists.lttng.org>
 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. <medawsonjr at yahoo.com> 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
lttng-dev at lists.lttng.org
https://lists.lttng.org/cgi-bin/mailman/listinfo/lttng-dev


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

   
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.lttng.org/pipermail/lttng-dev/attachments/20160606/c08248d0/attachment.html>


More information about the lttng-dev mailing list