Hello, > Okay, so second iteration. The patch is no longer a draft, and numbers > look good; Peter Meerwald has confirmed my numbers of 15 - 25% less CPU in > low latency scenarios (right)? here are the benchmark results (have been in private email to David so far only): measured with 'htop -d 50', accuracy +/- 0.7 probably, on beaglebaord-xm (ARM Cortex-A8, TI OMAP3 @ 1GHz), gcc 4.8, kernel 3.14 srchannel iochannel XXX PA ALSA paplay PA ALSA paplay 20 25.8 19.8 5.8 28.3 19.1 9.4 40 13.5 9.2 4.6 16.3 10.1 7.3 60 11.8 7.3 3.8 12.7 7.6 6.2 80 6.4 4.1 3.0 7.4 4.4 4.2 100 5.3 3.2 2.7 5.8 3.3 3.9 150 3.2 1.8 2.1 3.7 1.9 3.0 200 3.0 1.7 2.0 3.5 1.8 2.8 perf on ALSA thread with 20 msec (srchannel) 5.57% pulseaudio [kernel.kallsyms] [k] snd_pcm_hwsync 2.25% pulseaudio [kernel.kallsyms] [k] finish_task_switch.isra.93 2.18% pulseaudio [kernel.kallsyms] [k] eventfd_write 1.71% pulseaudio libalsa-util.so [.] thread_func 1.69% pulseaudio [kernel.kallsyms] [k] __hrtimer_start_range_ns 1.56% pulseaudio [kernel.kallsyms] [k] vector_swi 1.45% pulseaudio [kernel.kallsyms] [k] do_sys_poll 1.42% pulseaudio [kernel.kallsyms] [k] snd_pcm_status 1.20% pulseaudio libpulsecommon-5.0.so [.] __udivsi3 1.10% pulseaudio [kernel.kallsyms] [k] clocksource_mmio_readl_up 1.06% pulseaudio libpulsecommon-5.0.so [.] stack_pop 0.99% pulseaudio [kernel.kallsyms] [k] __fget 0.93% pulseaudio libpulsecommon-5.0.so [.] stack_push 0.83% pulseaudio libpulsecommon-5.0.so [.] pa_memblock_unref 0.80% pulseaudio libpulsecore-5.0.so [.] pa_rtpoll_run 0.77% pulseaudio libc-2.18.so [.] memcpy 0.76% pulseaudio [kernel.kallsyms] [k] snd_pcm_sync_ptr 0.72% pulseaudio libpulsecore-5.0.so [.] pa_sink_input_peek 0.69% pulseaudio [kernel.kallsyms] [k] __copy_from_user 0.65% pulseaudio libpulsecommon-5.0.so [.] __udivdi3 0.63% pulseaudio libpulsecommon-5.0.so [.] do_write perf on ALSA thread with 20 msec (iochannel) 4.89% pulseaudio [kernel.kallsyms] [k] snd_pcm_hwsync 2.43% pulseaudio [kernel.kallsyms] [k] finish_task_switch.isra.93 1.67% pulseaudio [kernel.kallsyms] [k] vector_swi 1.65% pulseaudio [kernel.kallsyms] [k] clocksource_mmio_readl_up 1.55% pulseaudio libalsa-util.so [.] thread_func 1.39% pulseaudio [kernel.kallsyms] [k] eventfd_write 1.25% pulseaudio [kernel.kallsyms] [k] do_sys_poll 1.25% pulseaudio libpulsecommon-5.0.so [.] __udivsi3 1.20% pulseaudio [kernel.kallsyms] [k] snd_pcm_status 1.19% pulseaudio [kernel.kallsyms] [k] __wake_up_sync_key 1.13% pulseaudio [kernel.kallsyms] [k] __hrtimer_start_range_ns 1.02% pulseaudio libpulsecommon-5.0.so [.] stack_pop 0.99% pulseaudio libpulsecommon-5.0.so [.] stack_push 0.97% pulseaudio libpulsecommon-5.0.so [.] do_pstream_read_write 0.92% pulseaudio [kernel.kallsyms] [k] __fget 0.77% pulseaudio libpulsecommon-5.0.so [.] pa_memblock_unref 0.69% pulseaudio libpulsecore-5.0.so [.] pa_rtpoll_run 0.68% pulseaudio [kernel.kallsyms] [k] __copy_from_user 0.68% pulseaudio libc-2.18.so [.] memcpy regards, p. -- Peter Meerwald +43-664-2444418 (mobile)