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@sentex.net>
Date: Fri, 24 Nov 2006 09:11:12 -0500

At 02:42 AM 11/24/2006, Sepherosa Ziehau wrote:
On 11/24/06, Mike Tancsa <mike@sentex.net> wrote:
At 08:56 PM 11/23/2006, Sepherosa Ziehau wrote:
>On 11/24/06, Mike Tancsa <mike@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




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