[alsa-devel] Lock free ring buffers and SMP safety
tiwai at suse.de
Fri Nov 23 18:15:38 CET 2007
At Sun, 18 Nov 2007 17:31:52 +0000,
Matt Bucknall wrote:
> Yes, this old chestnut. I've spent the best part of today trying to
> ascertain whether or not, in practical terms, a single-producer,
> single-consumer lock free ring-buffer can be written purely in C/C++ and
> be SMP safe on multiple architectures without memory barriers.
> Information I've found has been largely conflicting so I've given up
> trying to get a conclusive answer. Instead I'll just go with the flow.
> What is the general consensus amongst ALSA application developers when
> it comes to implementing this kind of buffer? Is it possible to use
> memory barriers through some user space API call that I don't know about?
Well, this question will be better answered on LAD, maybe.
AFAIK, the lock-free ringbuffer is possible in most architectures with
a help of memory barriers or atomic ops. But these arch-specific
things are still headaches if you think of portability, of course.
More information about the Alsa-devel