From: Eric Dumazet <eric.duma...@gmail.com> Date: Fri, 06 May 2016 08:55:12 -0700
> From: Eric Dumazet <eduma...@google.com> > > On small embedded routers, one wants to control maximal amount of > memory used by fq_codel, instead of controlling number of packets or > bytes, since GRO/TSO make these not practical. > > Assuming skb->truesize is accurate, we have to keep track of > skb->truesize sum for skbs in queue. > > This patch adds a new TCA_FQ_CODEL_MEMORY_LIMIT attribute. > > I chose a default value of 32 MBytes, which looks reasonable even > for heavy duty usages. (Prior fq_codel users should not be hurt > when they upgrade their kernels) > > Two fields are added to tc_fq_codel_qd_stats to report : > - Current memory usage > - Number of drops caused by memory limits > > # tc qd replace dev eth1 root est 1sec 4sec fq_codel memory_limit 4M > .. > # tc -s -d qd sh dev eth1 > qdisc fq_codel 8008: root refcnt 257 limit 10240p flows 1024 > quantum 1514 target 5.0ms interval 100.0ms memory_limit 4Mb ecn > Sent 2083566791363 bytes 1376214889 pkt (dropped 4994406, overlimits 0 > requeues 21705223) > rate 9841Mbit 812549pps backlog 3906120b 376p requeues 21705223 > maxpacket 68130 drop_overlimit 4994406 new_flow_count 28855414 > ecn_mark 0 memory_used 4190048 drop_overmemory 4994406 > new_flows_len 1 old_flows_len 177 > > > Signed-off-by: Eric Dumazet <eduma...@google.com> Applied, thanks Eric.