On Wed, 2016-11-16 at 23:40 +0100, Jesper Dangaard Brouer wrote: > Using -R 1 does not seem to help remove __ip_select_ident() > > Samples: 56K of event 'cycles', Event count (approx.): 78628132661 > Overhead Command Shared Object Symbol > + 9.11% netperf [kernel.vmlinux] [k] __ip_select_ident > + 6.98% netperf [kernel.vmlinux] [k] _raw_spin_lock > + 6.21% swapper [mlx5_core] [k] mlx5e_poll_tx_cq > + 5.03% netperf [kernel.vmlinux] [k] > copy_user_enhanced_fast_string > + 4.69% netperf [kernel.vmlinux] [k] __ip_make_skb > + 4.63% netperf [kernel.vmlinux] [k] skb_set_owner_w > + 4.15% swapper [kernel.vmlinux] [k] __slab_free > + 3.80% netperf [mlx5_core] [k] mlx5e_sq_xmit > + 2.00% swapper [kernel.vmlinux] [k] sock_wfree > + 1.94% netperf netperf [.] send_data > + 1.92% netperf netperf [.] send_omni_inner
Check "ss -nu" ? You will see if sockets are connected (present in ss output or not) UDP being connected does not prevent __ip_select_ident() being used. if ((iph->frag_off & htons(IP_DF)) && !skb->ignore_df) { So you need IP_DF being set, and skb->ignore_df being 0 -> time to try IP_MTU_DISCOVER ;)