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
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]