[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#814776: libc6: Performance regression from 2.19



control: tag -1 + moreinfo

On 2016-02-15 12:56, Antti Salmela wrote:
> Package: libc6
> Severity: normal
> 
> Dear Maintainer,
> 
> something has changed in libc6 between jessie and stretch which has a lead
> to a performance regression. I noticed this first with ssh file transfers, but
> tested using same version of iperf3 and kernel 4.3.0-1-amd64 on both hosts. 
> Both hosts are running as Xen guests on same otherwise completely idle
> hardware. Running under Xen is probably needed to reproduce, I can't reproduce
> regression on similar bare hardware.

What makes you think this is a libc6 issue? Could you please at least
try to do the same test with a jessie machine with only libc6 and
related packages updated to stretch.

> $ iperf3 -c stretch

[snip]

> #
> # Overhead  Command  Shared Object      Symbol                                    
> # ........  .......  .................  ..........................................
> #
>     34.78%  iperf3   [kernel.kallsyms]  [k] xen_hypercall_xen_version

The culprit seems to be the above line, which is not related to glibc?

>     13.04%  iperf3   libc-2.21.so       [.] random_r                              
>      4.35%  iperf3   [kernel.kallsyms]  [k] __pollwait                            
>      4.35%  iperf3   [kernel.kallsyms]  [k] copy_page_to_iter                     
>      4.35%  iperf3   [kernel.kallsyms]  [k] dnotify_flush                         
>      4.35%  iperf3   [kernel.kallsyms]  [k] fsnotify                              
>      4.35%  iperf3   [kernel.kallsyms]  [k] inet_twsk_alloc                       
>      4.35%  iperf3   [kernel.kallsyms]  [k] release_sock                          
>      4.35%  iperf3   [kernel.kallsyms]  [k] sys_read                              
>      4.35%  iperf3   [kernel.kallsyms]  [k] tcp_recvmsg                           
>      4.35%  iperf3   [kernel.kallsyms]  [k] xen_hypercall_mmu_update              
>      4.35%  iperf3   [kernel.kallsyms]  [k] xennet_alloc_rx_buffers               
>      4.35%  iperf3   libc-2.21.so       [.] random                                
>      4.35%  iperf3   libc-2.21.so       [.] read                                  

[snip]

> $ iperf3 -c jessie 

[snip]

> #
> # Overhead  Command  Shared Object      Symbol                       
> # ........  .......  .................  .............................
> #
>     15.79%  iperf3   libc-2.19.so       [.] random                   
>     15.79%  iperf3   libc-2.19.so       [.] random_r                 
>     10.53%  iperf3   [kernel.kallsyms]  [k] unmap_single_vma         
>     10.53%  iperf3   [kernel.kallsyms]  [k] xen_hypercall_mmu_update 
>     10.53%  iperf3   [kernel.kallsyms]  [k] xen_hypercall_xen_version

On jessie it was using 3 times less CPU.

>      5.26%  iperf3   [kernel.kallsyms]  [k] copy_user_generic_string 
>      5.26%  iperf3   [kernel.kallsyms]  [k] fsnotify                 
>      5.26%  iperf3   [kernel.kallsyms]  [k] get_pfnblock_flags_mask  
>      5.26%  iperf3   [kernel.kallsyms]  [k] kmem_cache_free          
>      5.26%  iperf3   [kernel.kallsyms]  [k] sys_read                 
>      5.26%  iperf3   [kernel.kallsyms]  [k] sys_select               
>      5.26%  iperf3   [kernel.kallsyms]  [k] tcp_poll                 

-- 
Aurelien Jarno                          GPG: 4096R/1DDD8C9B
aurelien@aurel32.net                 http://www.aurel32.net


Reply to: