dual port EM nic wedging under load

Mike Tancsa mike at sentex.net
Fri Nov 24 06:23:02 PST 2006


At 02:42 AM 11/24/2006, Sepherosa Ziehau wrote:
On 11/24/06, Mike Tancsa <mike at sentex.net> wrote:
At 08:56 PM 11/23/2006, Sepherosa Ziehau wrote:
>On 11/24/06, Mike Tancsa <mike at sentex.net> wrote:
>
>Can you post the output of em's debug_info sysctl?
I did a full cvsup upto today to see if it would help just in case
there was some issue with the kernel I downloaded. Also wanted to see
if SMP/APIC_IO would make a difference, but no difference.
Forgot one thing: please post output of vmstat -i, before/after the RX
choking :-)
pre-patch

[r2-dragonfly]# ifconfig em0 down
[r2-dragonfly]# ifconfig em0 up
[r2-dragonfly]# ifconfig em1 down
[r2-dragonfly]# ifconfig em1 up
[r2-dragonfly]# vmstat -i
interrupt                   total       rate
clk                          9235925        281
atkbd0                             0          0
em0                               28          0
atapci1/atapci1/bge0           39303          1
sio0                             408          0
atapci2/atapci2/bge2/em1          24          0
ppc0                               4          0
acpi0                              0          0
bge1                               0          0
psm0                               0          0
ata0                              10          0
ata1                           21628          0
irq16                            147          0
swi_siopoll                        0          0
swi_crypto/swi_camnet              0          0
swi_cambio                         0          0
swi_vm                             0          0
swi_taskq                          0          0
Total                        9297477        283
and a few packets after starting the blast

[r2-dragonfly]# vmstat -i
interrupt                   total       rate
clk                          9257094        281
atkbd0                             0          0
em0                               62          0
atapci1/atapci1/bge0           39729          1
sio0                             408          0
atapci2/atapci2/bge2/em1          54          0
ppc0                               4          0
acpi0                              0          0
bge1                               0          0
psm0                               0          0
ata0                              10          0
ata1                           21646          0
irq16                            147          0
swi_siopoll                        0          0
swi_crypto/swi_camnet              0          0
swi_cambio                         0          0
swi_vm                             0          0
swi_taskq                          0          0
Total                        9319154        283
[r2-dragonfly]#


post wedge

em0: Adapter hardware address = 0xd38f61b0
em0: CTRL  = 0x180c0241
em0: RCTL  = 0x8002 PS=(0x8402)
em0: Packet buffer = Tx=16k Rx=32k
em0: Flow control watermarks high = 30720 low = 29220
em0: tx_int_delay = 66, tx_abs_int_delay = 66
em0: rx_int_delay = 0, rx_abs_int_delay = 66
em0: fifo workaround = 0, fifo_reset = 0
em0: hw tdh = 5, hw tdt = 5
em0: Num Tx descriptors avail = 256
em0: Tx Descriptors not avail1 = 0
em0: Tx Descriptors not avail2 = 0
em0: Std mbuf failed = 0
em0: Std mbuf cluster failed = 2
em0: Driver dropped packets = 2
These drops looks quite suspecious, please change 
src/sys/dev/netif/em/if_em.c:
....
2626:        /*
2627:         * Using memory from the mbuf cluster pool, invoke the
2628:         * bus_dma machinery to arrange the memory mapping.
2629:         */
2630:        error = bus_dmamap_load(adapter->rxtag, rx_buffer->map,
2631:                                mtod(mp, void *), mp->m_len,
2632:                                em_dmamap_cb, &paddr, 0);
2633:        if (error) {

printf("%s bus_dmamap_load() failed\n", __func__);  <<<< ADD ME

2634:                m_free(mp);
2635:                return(error);
2636:        }
.....
See whether during RX choking above line splits out by the driver.
It didnt seem to fire.

        ---Mike


Best Regards,
sephe
--
Live Free or Die






More information about the Users mailing list