DragonFly users List (threaded) for 2006-11
DragonFly BSD
DragonFly users List (threaded) for 2006-11
[Date Prev][Date Next]  [Thread Prev][Thread Next]  [Date Index][Thread Index]

Re: dual port EM nic wedging under load


From: Mike Tancsa <mike@xxxxxxxxxx>
Date: Sun, 26 Nov 2006 11:04:43 -0500

At 04:03 AM 11/26/2006, Sepherosa Ziehau wrote:

Please review/test following patch:
http://leaf.dragonflybsd.org/~sephe/em_intr2.diff

[r2-dragonfly]# patch < em_intr2.diff Hmm... Looks like a unified diff to me... The text leading up to this was: -------------------------- |? cscope.out |Index: if_em.c |=================================================================== |RCS file: /opt/df_cvs/src/sys/dev/netif/em/if_em.c,v |retrieving revision 1.49 |diff -u -p -r1.49 if_em.c |--- if_em.c 5 Sep 2006 03:48:10 -0000 1.49 |+++ if_em.c 26 Nov 2006 08:28:11 -0000 -------------------------- Patching file if_em.c using Plan A... Hunk #1 succeeded at 2941 (offset 1 line). Hunk #2 succeeded at 2991 (offset 1 line). Hunk #3 succeeded at 3008 (offset 1 line). done [r2-dragonfly]#

. .. Recompile kernel... and it works!


Using polling and fastfwd on, I am able to get about 300Kpps in a unidirectional blast and still see that rate even with 10 poorly written ipfw rules !?!



Also it handles the load quite smoothly for the bi-directional test



Here is the output of ifstat -b as seen from the box acting as router


You can see the first stream starting up, and then the second on the opposite stream. Rates remain constant throughout, which is quite different from FreeBSD. ipfw on Dragonfly has no ill effect for some reason.


[r2-dragonfly]# ifstat -b bge0 em0 em1 Kbps in Kbps out Kbps in Kbps out Kbps in Kbps out 0.46 0.00 0.00 0.00 0.00 0.00 0.00 0.00 131836.1 0.00 0.00 131826.8 0.46 0.00 140538.5 0.00 0.00 140608.2 0.00 0.00 140653.4 0.00 0.00 140583.8 0.93 0.00 140623.2 0.00 0.00 140623.2 0.00 0.00 140614.8 0.00 0.00 140614.8 0.46 0.00 140607.2 0.00 0.00 140607.2 0.00 0.00 140577.2 0.00 0.00 140577.2 0.46 0.00 140342.0 105180.0 105189.3 140342.0 0.00 0.00 140606.6 140606.6 140606.6 140606.6 0.00 0.00 140608.0 140608.0 140608.0 140608.0 0.46 0.00 140596.0 140596.0 140596.0 140596.0 0.00 0.00 140619.0 140619.0 140619.0 140619.0 0.46 0.00 140527.8 140527.8 140527.8 140527.8 1.98 0.00 140606.9 140606.9 140606.9 140606.9 0.46 0.00 140607.9 140607.9 140607.9 140607.9 0.00 0.00 140603.7 140603.7 140603.7 140603.7 0.46 0.00 140609.7 140609.7 140609.7 140609.7 0.00 0.00 103929.5 140632.2 140632.2 103929.5 0.46 0.00 0.00 140606.2 140606.2 0.00 0.00 0.00 0.00 119461.3 119461.3 0.00 0.46 0.00 0.00 0.00 0.00 0.00 bge0 em0 em1


stats post test


em0: Adapter: 0xd38f5eb8
em0: Excessive collisions = 0
em0: Symbol errors = 0
em0: Sequence errors = 0
em0: Defer count = 0
em0: Missed Packets = 221709682
em0: Receive No Buffers = 53994896
em0: Receive length errors = 0
em0: Receive errors = 0
em0: Crc errors = 0
em0: Alignment errors = 0
em0: Carrier extension errors = 0
em0: RX overruns = 55192
em0: Watchdog timeouts = 0
em0: XON Rcvd = 0
em0: XON Xmtd = 914052
em0: XOFF Rcvd = 0
em0: XOFF Xmtd = 222434908
em0: Good Packets Rcvd = 187109273
em0: Good Packets Xmtd = 30553884
em1: Adapter: 0xd38f65b8
em1: Excessive collisions = 0
em1: Symbol errors = 0
em1: Sequence errors = 0
em1: Defer count = 0
em1: Missed Packets = 17508539
em1: Receive No Buffers = 14148594
em1: Receive length errors = 0
em1: Receive errors = 0
em1: Crc errors = 0
em1: Alignment errors = 0
em1: Carrier extension errors = 0
em1: RX overruns = 0
em1: Watchdog timeouts = 0
em1: XON Rcvd = 0
em1: XON Xmtd = 52953
em1: XOFF Rcvd = 0
em1: XOFF Xmtd = 17561436
em1: Good Packets Rcvd = 30553871
em1: Good Packets Xmtd = 187031079




I will try it with a full routing table later on today and post the results on the webpage (http://www.tancsa.com/blast.html)







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