On Tue, 2019-03-12 at 15:21 +0000, Phillips, Tony wrote:
> Here's what PERF shows (there's a bunch more lines, I just grabbed the top.
> 
> +   48.50%     0.08%  lt-openconnect  [kernel.vmlinux]         [k] 
> system_call_fastpath
> +   19.57%     0.10%  lt-openconnect  [kernel.vmlinux]         [k] sys_write
> +   19.37%     0.15%  lt-openconnect  [kernel.vmlinux]         [k] vfs_write
> +   18.22%     0.00%  lt-openconnect  libpthread-2.17.so       [.] 
> __write_nocancel
> +   17.74%     0.08%  lt-openconnect  [kernel.vmlinux]         [k] 
> do_sync_write
> +   17.67%     0.08%  lt-openconnect  [tun]                    [k] 
> tun_chr_aio_write
> +   17.52%     0.45%  lt-openconnect  [tun]                    [k] 
> tun_get_user
> +   17.07%     0.13%  lt-openconnect  [kernel.vmlinux]         [k] 
> ip_local_out_sk
> +   16.92%     0.13%  lt-openconnect  [kernel.vmlinux]         [k] ip_output
> +   16.72%     0.60%  lt-openconnect  [kernel.vmlinux]         [k] 
> ip_finish_output
> +   15.89%     0.08%  lt-openconnect  libpthread-2.17.so       [.] __libc_send
> +   15.87%     0.03%  lt-openconnect  [kernel.vmlinux]         [k] 
> dev_queue_xmit
> +   15.82%     0.58%  lt-openconnect  [kernel.vmlinux]         [k] 
> __dev_queue_xmit
> +   15.69%     0.03%  lt-openconnect  [kernel.vmlinux]         [k] sys_sendto
> +   15.59%     0.03%  lt-openconnect  [kernel.vmlinux]         [k] SYSC_sendto
> +   15.47%     0.28%  lt-openconnect  [kernel.vmlinux]         [k] 
> sock_sendmsg
> +   15.24%     0.08%  lt-openconnect  [kernel.vmlinux]         [k] 
> netif_receive_skb
> +   15.17%     0.00%  lt-openconnect  [kernel.vmlinux]         [k] 
> netif_receive_skb_internal
> +   15.09%     0.08%  lt-openconnect  [kernel.vmlinux]         [k] 
> inet_sendmsg
> +   15.04%     0.38%  lt-openconnect  [kernel.vmlinux]         [k] udp_sendmsg
> +   15.02%     0.20%  lt-openconnect  [kernel.vmlinux]         [k] 
> __netif_receive_skb_core
> +   15.02%     0.03%  lt-openconnect  [kernel.vmlinux]         [k] 
> __netif_receive_skb
> +   14.74%     0.10%  lt-openconnect  [kernel.vmlinux]         [k] 
> sch_direct_xmit
> +   14.71%     0.08%  lt-openconnect  [kernel.vmlinux]         [k] ip_rcv
> +   14.49%     0.20%  lt-openconnect  [kernel.vmlinux]         [k] 
> ip_rcv_finish
> +   13.76%     0.05%  lt-openconnect  [kernel.vmlinux]         [k] 
> ip_local_deliver
> +   13.66%     0.03%  lt-openconnect  [kernel.vmlinux]         [k] 
> ip_local_deliver_finish
> +   13.49%     0.23%  lt-openconnect  [kernel.vmlinux]         [k] tcp_v4_rcv
> +   13.46%     0.00%  lt-openconnect  [unknown]                [k] 
> 0000000000000000
> +   12.76%     0.10%  lt-openconnect  [kernel.vmlinux]         [k] 
> tcp_v4_do_rcv
> +   12.56%     0.25%  lt-openconnect  [kernel.vmlinux]         [k] 
> tcp_rcv_established
> +   11.76%     0.20%  lt-openconnect  [kernel.vmlinux]         [k] 
> udp_send_skb
> +   11.51%     0.03%  lt-openconnect  [kernel.vmlinux]         [k] ip_send_skb
> +   10.49%     0.10%  lt-openconnect  [kernel.vmlinux]         [k] 
> dev_hard_start_xmit
> +   10.06%     9.06%  lt-openconnect  [vmxnet3]                [k] 
> vmxnet3_xmit_frame
> +    7.23%     0.03%  lt-openconnect  [kernel.vmlinux]         [k] 
> __tcp_push_pending_frames
> +    7.03%     0.28%  lt-openconnect  [kernel.vmlinux]         [k] 
> tcp_write_xmit
> +    6.46%     0.23%  lt-openconnect  [kernel.vmlinux]         [k] 
> tcp_transmit_skb
> +    6.36%     0.35%  lt-openconnect  libc-2.17.so             [.] __select
> +    5.88%     0.28%  lt-openconnect  [kernel.vmlinux]         [k] 
> ip_queue_xmit
> +    5.86%     0.23%  lt-openconnect  [kernel.vmlinux]         [k] sys_select
> +    5.46%     0.28%  lt-openconnect  [kernel.vmlinux]         [k] 
> core_sys_select
> +    5.36%     0.95%  lt-openconnect  [kernel.vmlinux]         [k] do_select
> +    4.90%     0.05%  lt-openconnect  [kernel.vmlinux]         [k] 
> neigh_direct_output
>      4.63%     4.63%  lt-openconnect  libgnutls.so.28.43.0     [.] 
> 0x00000000000c971d
> +    4.13%     0.05%  lt-openconnect  [kernel.vmlinux]         [k] 
> validate_xmit_skb_list
> +    4.05%     0.10%  lt-openconnect  [kernel.vmlinux]         [k] 
> validate_xmit_skb.isra.102.part.103
> +    3.85%     1.13%  lt-openconnect  [kernel.vmlinux]         [k] tcp_ack
> +    3.53%     0.03%  lt-openconnect  [kernel.vmlinux]         [k] 
> neigh_resolve_output
> +    3.45%     0.20%  lt-openconnect  [kernel.vmlinux]         [k] sys_read
> +    3.18%     0.03%  lt-openconnect  [kernel.vmlinux]         [k] 
> __skb_gso_segment
> +    3.13%     0.00%  lt-openconnect  [kernel.vmlinux]         [k] 
> skb_mac_gso_segment
> +    3.13%     0.08%  lt-openconnect  libpthread-2.17.so       [.] 
> __read_nocancel
> +    3.13%     0.20%  lt-openconnect  [kernel.vmlinux]         [k] 
> inet_gso_segment
> +    3.03%     0.20%  lt-openconnect  [kernel.vmlinux]         [k] vfs_read
> +    2.93%     0.03%  lt-openconnect  [kernel.vmlinux]         [k] 
> tcp4_gso_segment
> +    2.90%     0.08%  lt-openconnect  [kernel.vmlinux]         [k] 
> tcp_gso_segment
> +    2.83%     0.03%  lt-openconnect  [kernel.vmlinux]         [k] 
> poll_schedule_timeout
> +    2.80%     0.05%  lt-openconnect  [kernel.vmlinux]         [k] 
> schedule_hrtimeout_range
> +    2.80%     2.80%  lt-openconnect  [kernel.vmlinux]         [k] 
> _raw_spin_unlock_irqrestore
> +    2.78%     0.38%  lt-openconnect  libpthread-2.17.so       [.] __libc_recv
> +    2.75%     2.45%  lt-openconnect  libc-2.17.so             [.] _int_malloc
> +    2.73%     2.73%  lt-openconnect  libnettle.so.4.7         [.] 
> _nettle_sha1_compress

Hm, I've been optimising the crypto side of this but looking back as
this email, that's completely in the noise despite being 50% of the
time taken in my own traces. Your system is spending almost all of its
time in actually moving packets around.

This trace does seem to have a lot of writing to the tun device —
incoming packets from the VPN. With my current perfhacks branch can you
get another one using just iperf? 

Attachment: smime.p7s
Description: S/MIME cryptographic signature

_______________________________________________
openconnect-devel mailing list
[email protected]
http://lists.infradead.org/mailman/listinfo/openconnect-devel

Reply via email to