CVSROOT: /cvs Module name: src Changes by: d...@cvs.openbsd.org 2018/01/02 00:08:10
Modified files: sys/net : ifq.c ifq.h Log message: reintroduce tx mitigation to quote the previous commit: > 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@ this was backed out because of a race in the net80211 stack that anton@ hit. mpi@ committed a workaround for it in revision 1.30 of src/sys/net80211/ieee80211_pae_output.c. im putting this in again so we can see what breaks next.