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