For this purpose, I've set up a small svn repo
with everything to run the test
easily. There's no dependency, you just need pthread, gcc and sh.
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...
vendor_id : GenuineIntel
cpu family : 15
model : 6
model name : Intel(R) Pentium(R) D CPU 3.40GHz
stepping : 4
cpu MHz : 3400.158
cache size : 2048 KB
physical id : 0
siblings : 2
cpu cores : 2
fdiv_bug : no
hlt_bug : no
f00f_bug : no
coma_bug : no
fpu : yes
fpu_exception : yes
cpuid level : 6
wp : yes
flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge
mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe nx lm
constant_tsc pebs bts sync_rdtsc pni monitor ds_cpl est cid cx16 xtpr
lahf_lm
bogomips : 6804.31
bogomips : 6800.05
Starting ringbuffer tests (buffer size: 512)
=== Jack ringbuffer test ===
starting ringbuffer stress test (2 minutes max)
buffer size (bytes): 512
array size (bytes): 256
reader started on cpu 0
writer started on cpu: 1
56448 != 56320 at offset 0
failure in chunk 2930
=== Portaudio ringbuffer test ===
starting ringbuffer stress test (2 minutes max)
buffer size (bytes): 512
array size (bytes): 256
reader started on cpu 1
writer started on cpu: 0
Success
=== Portaudio ringbuffer test (without memory barriers) ===
starting ringbuffer stress test (2 minutes max)
buffer size (bytes): 512
array size (bytes): 256
reader started on cpu 0
writer started on cpu: 1
Success