DragonFly commits List (threaded) for 2009-02
DragonFly BSD
DragonFly commits List (threaded) for 2009-02
[Date Prev][Date Next]  [Thread Prev][Thread Next]  [Date Index][Thread Index]

DragonFly-2.3.0.267.g51e681 master sys/dev/netif/em if_em.c if_em.h


From: Sepherosa Ziehau <sephe@xxxxxxxxxxxxxxxxxxxxxxx>
Date: Tue, 24 Feb 2009 03:00:27 -0800 (PST)

commit 51e6819fc2ad7cefdf830dcc9f20bcbe2af2aa52
Author: Sepherosa Ziehau <sephe@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



[Date Prev][Date Next]  [Thread Prev][Thread Next]  [Date Index][Thread Index]