cvs commit: src/sys/dev/netif/bce if_bce.c

Sepherosa Ziehau sephe at crater.dragonflybsd.org
Mon Nov 10 06:06:28 PST 2008


sephe       2008/11/10 06:05:03 PST

DragonFly src repository

  Modified files:
    sys/dev/netif/bce    if_bce.c 
  Log:
  Reconfigure default interrupt moderation parameters:
  - Adjust TX ticks and TX bds.  Add a note in comment that setting TX ticks
    to 1023 will have _unexpected_ effect.  With this TX ticks/bds setting:
    1472bytes UDP payload will cause ~1200HZ interrupt (ticks controls TX HC)
    1bytes UDP payload will cause ~5100HZ interrupt (bds controls TX HC)
  - Restore Broadcom's default RX ticks settings (18).  Set RX bds to 12.
    This should be able to restore TCP stream RX performance.  Add a note
    in comment that setting RX ticks to any value above 13 will make RX bds
    control RX HC.  It is found out by using following method:
    Assume for bulk data RX, RX ticks should always control RX HC if RX bds is
    relative large.  So RX bds is set to 128, which should be large enough but
    less than the limit (255).  Other side of this test TXes 1472bytes payload
    UDP datagrams.  The result:
        RX ticks    Interrupt rate
           12          livelock
           13           47800
           14            1270
           15            1270
           16            1270
           17            1270
           18            1270
           19            1270
           20            1270
           30            1270
    Linux bnx2 says the RX ticks unit is microsecond, while it looks incorrect.
    FreeBSD bce(4) does not have any comment about the RX ticks setting.
    We probably need to find a dynamic RX bds tuning mechanism to prevent system
    from being livelocked if full speed tiny packets are injected.
  
  Revision  Changes    Path
  1.20      +20 -8     src/sys/dev/netif/bce/if_bce.c


http://www.dragonflybsd.org/cvsweb/src/sys/dev/netif/bce/if_bce.c.diff?r1=1.19&r2=1.20&f=u





More information about the Commits mailing list