aboutsummaryrefslogtreecommitdiffstats
path: root/net/ipv4/udp.c
diff options
context:
space:
mode:
authorJesus Sanchez-Palencia <jesus.sanchez-palencia@intel.com>2018-11-14 17:26:35 -0800
committerDavid S. Miller <davem@davemloft.net>2018-11-16 20:39:34 -0800
commit37342bdaf5b363cf2e1bd170ce7d1de34ecf57e7 (patch)
tree8a6d5deb476ca3c1a6f53cec4b0a76f43ec4b6e2 /net/ipv4/udp.c
parentetf: Split timersortedlist_erase() (diff)
downloadlinux-dev-37342bdaf5b363cf2e1bd170ce7d1de34ecf57e7.tar.xz
linux-dev-37342bdaf5b363cf2e1bd170ce7d1de34ecf57e7.zip
etf: Drop all expired packets
Currently on dequeue() ETF only drops the first expired packet, which causes a problem if the next packet is already expired. When this happens, the watchdog will be configured with a time in the past, fire straight way and the packet will finally be dropped once the dequeue() function of the qdisc is called again. We can save quite a few cycles and improve the overall behavior of the qdisc if we drop all expired packets if the next packet is expired. This should allow ETF to recover faster from bad situations. But packet drops are still a very serious warning that the requirements imposed on the system aren't reasonable. This was inspired by how the implementation of hrtimers use the rb_tree inside the kernel. Signed-off-by: Jesus Sanchez-Palencia <jesus.s.palencia@gmail.com> Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'net/ipv4/udp.c')
0 files changed, 0 insertions, 0 deletions