commit 871c0e2b6879cde2fe8b1c76bc3ae0040abb975c Author: Sepherosa Ziehau <se...@dragonflybsd.org> Date: Thu Nov 22 20:02:31 2012 +0800
igb: 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.igbX.tx_wreg_nsegs. CPU usage when transmitting 18bytes tiny UDP datagrams @1.48Mpps with 82575 on AMD970 (3500Mhz) are reduced from 55% to 38% with the default value. Inspired-by: FreeBSD netmap's paper Summary of changes: sys/dev/netif/igb/if_igb.c | 45 ++++++++++++++++++++++++++++++++++++++++--- sys/dev/netif/igb/if_igb.h | 1 + 2 files changed, 42 insertions(+), 4 deletions(-) http://gitweb.dragonflybsd.org/dragonfly.git/commitdiff/871c0e2b6879cde2fe8b1c76bc3ae0040abb975c -- DragonFly BSD source repository