em driver regression

Pyun YongHyeon pyunyh at gmail.com
Thu Apr 8 20:56:32 UTC 2010


On Thu, Apr 08, 2010 at 02:31:18PM -0400, Mike Tancsa wrote:
> At 02:17 PM 4/8/2010, Pyun YongHyeon wrote:
> 
> >Try this patch. It should fix the issue. It seems Jack forgot to
> >strip CRC bytes as old em(4) didn't strip it, probably to
> >workaround silicon bug of old em(4) controllers.
> 
> Thanks! The attached patch does indeed fix the dhclient issue.
> 
> 
> >It seems there are also TX issues here. The system load is too high
> >and sometimes system is not responsive while TX is in progress.
> >Because I initiated TCP bulk transfers, TSO should reduce CPU load
> >a lot but it didn't so I guess it could also be related watchdog
> >timeouts you've seen. I'll see what can be done.
> 
> Thanks for looking into that as well!!
> 
>         ---Mike
> 

Mike,

Here is patch I'm working on. This patch fixes high system load and 
system is very responsive as before. But it seems there is still
some TX issue here. Bulk UDP performance is very poor(< 700Mbps)
and I have no idea what caused this at this moment.

BTW, I have trouble to reproduce watchdog timeouts. I'm not sure
whether latest fix from Jack cured it. By chance does your
controller support multi TX/RX queues? You can check whether em(4)
uses multi-queues with "vmstat -i". If em(4) use multi-queue you
may have multiple irq output for em0.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: em.load.patch
Type: text/x-diff
Size: 4026 bytes
Desc: not available
Url : http://lists.freebsd.org/pipermail/freebsd-stable/attachments/20100408/5271a0d7/em.load.bin


More information about the freebsd-stable mailing list