[LAU] Simple, easy multithreaded circular buffer library for Linux?

Paul Davis paul at linuxaudiosystems.com
Wed Oct 15 07:17:21 EDT 2008


On Wed, 2008-10-15 at 13:02 +0200, Olivier Guilyardi wrote:
> Pa
> 
> I'm no memory barrier expert, but from what I read this looks like a complex
> topic. Adding them to jack's ring buffer may be hazardous without carefully
> crafted test cases. Bugs related to missing barriers may or may not happen
> according to various hardware-related issues.

the point of memory barriers is really to remove the need for test
cases :)

> Here's what Ross Bencina says about it: "the correct implementation of these
> algorithms also requires an understanding of the use of memory barriers to force
> the order of some memory reads and writes on SMP systems. This is because memory
> controllers may reorder reads and writes as observed by other processors on an
> SMP system (or by prehipherals on a uniprocessor system)."

what is complex about memory barriers is understanding *why* they are
necessary. their use is really quite straightforward.

> As a user of these projects I sense that people from Portaudio, PulseAudio and
> Jack could collaborate on this topic. And Ross Bencina's initiative may be the
> right place for this:
> http://www.audiomulch.com/~rossb/code/lockfree/liblfds/index.htm

if you read that page carefully you will see that ross was still waiting
to set up a repository when that page was last updated (2006). a shame.
though i can speak, did i do anything to help it out?







More information about the Linux-audio-user mailing list