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@

Reply via email to