commit 7f32a9b0f8f25e43ab2ae4ee0d82ce69325d3b4b Author: Sepherosa Ziehau <se...@dragonflybsd.org> Date: Thu Nov 22 20:53:36 2012 +0800
emx: Don't update TDT upon very packets transmitted The TDT is updated only after certain amount of TX descriptors are added to the hardware TX ring. The default value of the amount of TX descriptors are 8. This value could be further tuned by per-device sysctl node hw.emxX.tx_wreg_nsegs. CPU usage when transmitting 18bytes tiny UDP datagrams @1.48Mpps with 82571 on AMD970 (3500Mhz) are reduced from 50% to 30% with the default value. Inspired-by: FreeBSD netmap's paper Summary of changes: sys/dev/netif/emx/if_emx.c | 51 +++++++++++++++++++++++++++++++++++++------- sys/dev/netif/emx/if_emx.h | 2 + 2 files changed, 45 insertions(+), 8 deletions(-) http://gitweb.dragonflybsd.org/dragonfly.git/commitdiff/7f32a9b0f8f25e43ab2ae4ee0d82ce69325d3b4b -- DragonFly BSD source repository