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