Subject: Re: tcp hang when socket fills up ?

From: Eric Dumazet <[email-masked]>
Date: Sun, 15 Apr 2018 19:26:09 -0700

On 04/15/2018 06:47 PM, Dominique Martinet wrote:

> Also, here are the per-socket stats I could find (ss -i after having
> reproduced hang):
> 	 reno wscale:7,7 rto:7456 backoff:5 rtt:32.924/1.41 ato:40 mss:1374
> 	 pmtu:1500 rcvmss:1248 advmss:1448 cwnd:1 ssthresh:16
> 	 bytes_acked:32004 bytes_received:4189 segs_out:85 segs_in:54
> 	 data_segs_out:78 data_segs_in:18 send 333.9Kbps lastsnd:3912
> 	 lastrcv:11464 lastack:11387 pacing_rate 21.4Mbps delivery_rate
> 	 3.5Mbps busy:12188ms unacked:33 retrans:1/5 lost:33 rcv_rtt:37
> 	 rcv_space:29200 rcv_ssthresh:39184 notsent:28796 minrtt:24.986
> 

ss -temoi might give us more info

Really it looks like at some point, all incoming packets are shown by tcpdump but do not reach the TCP socket anymore.

(segs_in: might be steady, look at the d0 counter shown by ss -temoi  (dX : drop counters, sk->sk_drops)

Are you sure you do not have some iptables/netfilter stuff ?

While running your experiment, try on the server.

perf record -a -g -e skb:kfree_skb  sleep 30
perf report