summaryrefslogtreecommitdiffstats
path: root/sys/kern/kern_malloc.c
diff options
context:
space:
mode:
authordlg <dlg@openbsd.org>2017-11-14 00:00:35 +0000
committerdlg <dlg@openbsd.org>2017-11-14 00:00:35 +0000
commitb1f7c7a555e70dae7d62f859be8df321618b15ea (patch)
treeb67cbf66e3e10f12c5e5aa59c4923fa4b77570c0 /sys/kern/kern_malloc.c
parentadd taskq_barrier (diff)
downloadwireguard-openbsd-b1f7c7a555e70dae7d62f859be8df321618b15ea.tar.xz
wireguard-openbsd-b1f7c7a555e70dae7d62f859be8df321618b15ea.zip
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@
Diffstat (limited to 'sys/kern/kern_malloc.c')
0 files changed, 0 insertions, 0 deletions