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.

Reply via email to