DragonFly-2.3.0.267.g51e681 master sys/dev/netif/em if_em.c if_em.h
Sepherosa Ziehau
sephe at crater.dragonflybsd.org
Tue Feb 24 03:02:49 PST 2009
commit 51e6819fc2ad7cefdf830dcc9f20bcbe2af2aa52
Author: Sepherosa Ziehau <sephe at dragonflybsd.org>
Date: Fri Feb 20 19:21:53 2009 +0800
em(4): Avoid allocating a csum offloading TX desc whenever possible.
According to Intel's PCIe GbE Controllers Open Source Software
Developer's Manual Revision 1.8: a csum offloading TX desc will
prevent TX data read requests from being pipelined, thus reduce TX
performance. The pipelining effect is not obvious when transmitting
bulk data (e.g. 1472 bytes UDP datagram), but it could be dominant
when transmitting tiny packets. So we should avoid allocating a
csum offloading TX desc whenever possible to take advantage of the
pipelining effect.
On 82573E_IAMT,
Before this commit: ~700Kpps
After this commit: ~990Kpps
The funny thing about this commit is:
Old driver code from Intel's FreeBSD driver 6.2.9 roughly did what
we are doing in this commit, while Intel's FreeBSD driver 6.9.6
simply follows Linux's way to flush the performance to the toilet ...
Summary of changes:
sys/dev/netif/em/if_em.c | 106 +++++++++++++++++++++++++++++----------------
sys/dev/netif/em/if_em.h | 9 ++++-
2 files changed, 76 insertions(+), 39 deletions(-)
http://gitweb.dragonflybsd.org/dragonfly.git/commitdiff/51e6819fc2ad7cefdf830dcc9f20bcbe2af2aa52
--
DragonFly BSD source repository
More information about the Commits
mailing list