tcp_cubic: add SNMP counters to track how effective is Hystart
authorEric Dumazet <edumazet@google.com>
Fri, 5 Dec 2014 00:13:23 +0000 (16:13 -0800)
committerDavid S. Miller <davem@davemloft.net>
Tue, 9 Dec 2014 19:58:23 +0000 (14:58 -0500)
commit6e3a8a937c2f86ee0b2d354808fc026a143b4518
treef787c8960845386d7950fa04d704224d94c4cc38
parent5cccc702fd54e5c3dc5ee16a129770aae79ae60b
tcp_cubic: add SNMP counters to track how effective is Hystart

When deploying FQ pacing, one thing we noticed is that CUBIC Hystart
triggers too soon.

Having SNMP counters to have an idea of how often the various Hystart
methods trigger is useful prior to any modifications.

This patch adds SNMP counters tracking, how many time "ack train" or
"Delay" based Hystart triggers, and cumulative sum of cwnd at the time
Hystart decided to end SS (Slow Start)

myhost:~# nstat -a | grep Hystart
TcpExtTCPHystartTrainDetect     9                  0.0
TcpExtTCPHystartTrainCwnd       20650              0.0
TcpExtTCPHystartDelayDetect     10                 0.0
TcpExtTCPHystartDelayCwnd       360                0.0

->
 Train detection was triggered 9 times, and average cwnd was
 20650/9=2294,
 Delay detection was triggered 10 times and average cwnd was 36

Signed-off-by: Eric Dumazet <edumazet@google.com>
Acked-by: Neal Cardwell <ncardwell@google.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
include/uapi/linux/snmp.h
net/ipv4/proc.c
net/ipv4/tcp_cubic.c