git: bnx: Improve tiny packets transmission performance on low frequency CPU
Sepherosa Ziehau
sephe at crater.dragonflybsd.org
Sat Nov 24 22:37:51 PST 2012
commit c9b7f592671d46a6f91f2054b49ef1350d7475cb
Author: Sepherosa Ziehau <sephe at dragonflybsd.org>
Date: Sun Nov 25 14:08:31 2012 +0800
bnx: Improve tiny packets transmission performance on low frequency CPU
- Reduce TX coalesce BDs from 128 to 64. This improves tiny packets
transmission performance on AMD970 at 2200Mhz a little bit (1.40Mpps
-> 1.48Mpps)
- Update TX PROD register a little bit often; mainly to improve timeliness
of packets transmission:
The TX PROD register is updated 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.bnxX.tx_wreg. The default value greatly improves tiny
packets performance on AMD970 at 800Mhz (780Kpps -> 1.11Mpps) and it does
not increase CPU usage on AMD970 at 3500Mhz (CPU usage stays @31%).
Summary of changes:
sys/dev/netif/bnx/if_bnx.c | 45 +++++++++++++++++++++++++---------------
sys/dev/netif/bnx/if_bnxvar.h | 6 ++--
2 files changed, 31 insertions(+), 20 deletions(-)
http://gitweb.dragonflybsd.org/dragonfly.git/commitdiff/c9b7f592671d46a6f91f2054b49ef1350d7475cb
--
DragonFly BSD source repository
More information about the Commits
mailing list