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