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

Kjetil S. Matheussen k.s.matheussen at notam02.no
Fri Oct 17 11:01:27 EDT 2008


>
> Here's how to run the test:
>
> svn co http://svn.samalyse.com/misc/rbtest
> cd rbtest
> make test
>
> It tests the ringbuffers from (all included) jack, portaudio and portaudio
> without barriers. That can take up to 6 minutes. It has to be a bit long due to
> the probabilistic nature of failures.
>
> LAUsers could you please run this test on various architectures? Especially
> PowerPC single-cpu and SMP, x86 single-cpu, SMP, in various flavors, etc...
>

Here's my result.

BTW, non of the machines I tested on had the sched_getcpu function, so I 
added "#define sched_getcpu getpid" to the file.


-------------------
Machine 1: 8 X (core Intel(R) Xeon(R) CPU           E5320  @ 1.86GHz)

=== Jack ringbuffer test ===
starting ringbuffer stress test (2 minutes max)
buffer size (bytes): 512
array size (bytes): 256
reader started on cpu 17602
writer started on cpu: 17602
60288 != 60160 at offset 0
failure in chunk 373678

Rest was success


-------------------
Machine 2: 1 X (AMD Sempron(TM) 3000+)
Success 
Success 
Success


-------------------
Machine 3: 3 X (Intel(R) Xeon(TM) CPU 2.80GHz)

=== Jack ringbuffer test ===
starting ringbuffer stress test (2 minutes max)
buffer size (bytes): 512
array size (bytes): 256
reader started on cpu 27916
writer started on cpu: 27916
16640 != 16512 at offset 0
failure in chunk 2300164

Rest was success


-------------------
Machine 4: SunOs 5.8 sun4u sparc SUNW,Ultra-4 Solaris
:-)

The jack test compiled fine.

Portaudio version:
"portaudio/pa_ringbuffer.c", line 121: #error: Memory barriers are not defined on this system. You can still compile by defining ALLOW_SMP_DANGERS, but SMP s

Also:
  $ ./test-int-array-jack
starting ringbuffer stress test (2 minutes max)
Segmentation Fault




More information about the Linux-audio-user mailing list