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 openconnect-devel@xxxxxxxxxxxxxxxxxxx http://lists.infradead.org/mailman/listinfo/openconnect-devel