dual port EM nic wedging under load
Sepherosa Ziehau
sepherosa at gmail.com
Thu Nov 23 23:50:22 PST 2006
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 :-)
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.
Best Regards,
sephe
--
Live Free or Die
More information about the Users
mailing list