[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