[pulseaudio-discuss] [PATCH 00/11] A new srchannel based protocol for PulseAudio

Peter Meerwald pmeerw at pmeerw.net
Tue Apr 29 06:30:44 PDT 2014


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)


More information about the pulseaudio-discuss mailing list