CVSROOT: /cvs Module name: src Changes by: d...@cvs.openbsd.org 2017/11/13 17:00:35
Modified files: sys/net : ifq.c ifq.h Log message: reintroduce tx mitigation, like dfly does and like we used to do. this replaces ifq_start with code that waits until at least 4 packets have been queued on the ifq before calling the drivers start routine. if less than 4 packets get queued, the start routine is called from a task in a softnet tq. 4 packets was chosen this time based on testing sephe did in dfly which showed no real improvement when bundling more packets. hrvoje popovski tested this on several nics and found an improvement of 10 to 20 percent when forwarding across the board. because some of the ifq's work could be sitting on a softnet tq, ifq_barrier now calls taskq_barrier to guarantee any work that was pending there has finished. ok mpi@ visa@