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

git: igb: Optimize TX path


From: Sepherosa Ziehau <sephe@xxxxxxxxxxxxxxxxxxxxxxx>
Date: Thu, 31 May 2012 06:37:29 -0700 (PDT)

commit b62201445347b6010549fd9b43c84bfea0977b4a
Author: Sepherosa Ziehau <sephe@dragonflybsd.org>
Date:   Sun May 27 21:16:46 2012 +0800

    igb: Optimize TX path
    
    Reduce the number of status reports of TX ring: at most 16 reports every
    TX descriptor count tranmission.  It is unnecessary to report status for
    every TX descriptor.  This could greatly reduce bus traffic.
    
    Use "Transmit Completions Head Write Back" as mentioned in the datasheet.
    In this model, TX descriptors are no longer written by hardware thus cache
    trashing is avoided.  This also greatly reduce the complexity of igb_txeof.
    
    Implemention note of "Transmit Completions Head Write Back",
    - HWBTHRESH is not used, since:
      o  82575 does not support it
      o  Number of status reports are already greatly reduced
    - WB_on_EITR is not used, since:
      o  82575 does not support it
      o  It will cause unnecessary head write-back
    
    Performance is almost same as previous code:
    - 1.48Mpps for 18bytes UDP datagram
    - Line rate for 1472bytes UDP datagram and TCP stream

Summary of changes:
 sys/dev/netif/igb/if_igb.c |  216 +++++++++++++++++++++++++-------------------
 sys/dev/netif/igb/if_igb.h |   23 +++++-
 2 files changed, 144 insertions(+), 95 deletions(-)

http://gitweb.dragonflybsd.org/dragonfly.git/commitdiff/b62201445347b6010549fd9b43c84bfea0977b4a


-- 
DragonFly BSD source repository



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