From: Vinicius Costa Gomes <[email protected]> Date: Wed, 14 Nov 2018 17:26:35 -0800
> From: Jesus Sanchez-Palencia <[email protected]> > > 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 <[email protected]> Applied.
