]> git.baikalelectronics.ru Git - kernel.git/commit
tcp: introduce TCPSpuriousRtxHostQueues SNMP counter
authorEric Dumazet <edumazet@google.com>
Thu, 18 Apr 2013 06:52:51 +0000 (06:52 +0000)
committerDavid S. Miller <davem@davemloft.net>
Thu, 18 Apr 2013 18:57:25 +0000 (14:57 -0400)
commitee65fcce7ce42bab76d0a6fc4e4e653c4eb4617c
treeee3fa2a5523223f8ff079b075dc4e1959ed0c0f5
parent940852239413ec1fd5f5362dfe6748628b1a9f23
tcp: introduce TCPSpuriousRtxHostQueues SNMP counter

Host queues (Qdisc + NIC) can hold packets so long that TCP can
eventually retransmit a packet before the first transmit even left
the host.

Its not clear right now if we could avoid this in the first place :

- We could arm RTO timer not at the time we enqueue packets, but
  at the time we TX complete them (tcp_wfree())

- Cancel the sending of the new copy of the packet if prior one
  is still in queue.

This patch adds instrumentation so that we can at least see how
often this problem happens.

TCPSpuriousRtxHostQueues SNMP counter is incremented every time
we detect the fast clone is not yet freed in tcp_transmit_skb()

Signed-off-by: Eric Dumazet <edumazet@google.com>
Cc: Yuchung Cheng <ycheng@google.com>
Cc: Neal Cardwell <ncardwell@google.com>
Cc: Tom Herbert <therbert@google.com>
Cc: Willem de Bruijn <willemb@google.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
include/uapi/linux/snmp.h
net/ipv4/proc.c
net/ipv4/tcp_output.c