[LAD] Writing to an eventfd from a realtime thread

Paul Davis paul at linuxaudiosystems.com
Wed Sep 24 14:03:50 UTC 2014


On Wed, Sep 24, 2014 at 7:21 AM, William Light <wrl at illest.net> wrote:

> Hey everybody,
>
> I've got this audio app I'm writing which uses message passing to
> communicate between threads (similar to the actor model). A message
> channel consists of a ring-buffer for the actual message storage, and
> then an eventfd so that a thread can block on its channel (or,
> importantly, several).
>
> At the moment, when the audio thread (the JACK callback) needs to send a
> message over a channel to another thread, it follows the common codepath
> of appending the message to the channel's ring-buffer and then
> write()ing to the eventfd. I suspect this is not real-time safe, but is
> it something I should lose sleep over?
>

we're still missing measurements on the performance of semaphores, fifo's
and eventfd's when used for this purpose on modern linux. JACK itself uses
FIFOs (pipes) on Linux because 10+ years ago they were the fastest and most
reliable. nobody knows for sure right whether that is still true.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.linuxaudio.org/pipermail/linux-audio-dev/attachments/20140924/37992474/attachment.html>


More information about the Linux-audio-dev mailing list