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