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?