From: Eric Dumazet <eric.duma...@gmail.com> Date: Wed, 07 Jun 2017 13:29:12 -0700
> From: Eric Dumazet <eduma...@google.com> > > DRAM supply shortage and poor memory pressure tracking in TCP > stack makes any change in SO_SNDBUF/SO_RCVBUF (or equivalent autotuning > limits) and tcp_mem[] quite hazardous. > > TCPMemoryPressures SNMP counter is an indication of tcp_mem sysctl > limits being hit, but only tracking number of transitions. > > If TCP stack behavior under stress was perfect : > 1) It would maintain memory usage close to the limit. > 2) Memory pressure state would be entered for short times. > > We certainly prefer 100 events lasting 10ms compared to one event > lasting 200 seconds. > > This patch adds a new SNMP counter tracking cumulative duration of > memory pressure events, given in ms units. > > $ cat /proc/sys/net/ipv4/tcp_mem > 3088 4117 6176 > $ grep TCP /proc/net/sockstat > TCP: inuse 180 orphan 0 tw 2 alloc 234 mem 4140 > $ nstat -n ; sleep 10 ; nstat |grep Pressure > TcpExtTCPMemoryPressures 1700 > TcpExtTCPMemoryPressuresChrono 5209 > > v2: Used EXPORT_SYMBOL_GPL() instead of EXPORT_SYMBOL() as David > instructed. > > Signed-off-by: Eric Dumazet <eduma...@google.com> Applied, thanks Eric.