CALL FOR TESTERS! [Re: 6.2 SHOWSTOPPER - em completely unusable on 6.2]

Craig Boston craig at feniz.gank.org
Fri Sep 29 14:18:25 PDT 2006


I've been experiencing this problem too, along with my USB keyboard
acting 'wonky' (stuttering from time to time).  For me at least it seems
to be tied to CPU usage, meaning it's probably related to the taskqueue
or maybe even the scheduler.  I can also reproduce the problem on a much
bigger scale than I've seen mentioned anywhere else (up to 30 seconds!).

One sure-fire way to trigger it for me is to boot the Ubuntu 6.06.1 CD
inside of qemu.  I don't have kqemu or anything loaded -- it can be
provoked by an ordinary process running as an ordinary user.

While it's sitting at the GRUB screen (30 second countdown), my USB keyboard
becomes inoperable, and em0 goes totally dead.  It feels like no interrupts
getting through -- if a key was pressed it will repeat until the 30 seconds are
up or I kill the process.

I initially suspected something holding GIANT for a long time, so I
tried the giantless USB patches but that didn't help.

Interestingly, I have another em interface in this machine but it
continues to work.

em0 is sharing irq19 with uhci1 (which the keyboard is attached to).
em1 is on irq18.  So whatever it is somehow stops irq19 from getting
through, but the other IRQ lines seem unaffected.  Sounding more and
more like an APIC problem to me.  Or possibly the ithread getting stuck.

This machine *DID* work fine until sometime between 6.1 release and now.
Unfortunately I can't seem to reproduce the problem on any of my test
machines, only on the one that I need for day to day work :)

I'm about halfway through reading the thread, but will be happy to test
any patches do whatever I can to help.

Craig

em0 at pci2:10:0:  class=0x020000 card=0x002e8086 chip=0x100e8086 rev=0x02 hdr=0x00
    vendor   = 'Intel Corporation'
    device   = '82540EM Gigabit Ethernet Controller'
    class    = network
    subclass = ethernet
em1 at pci2:12:0:  class=0x020000 card=0x002e1028 chip=0x100e8086 rev=0x02 hdr=0x00
    vendor   = 'Intel Corporation'
    device   = '82540EM Gigabit Ethernet Controller'
    class    = network
    subclass = ethernet

On Thu, Sep 28, 2006 at 08:13:51AM -0600, Scott Long wrote:
> All,
> 
> Attached is my first cut at addressing the problems described in this 
> thread.  As I discussed earlier, the VM syncer thread is likely starving
> the USB interrupt thread.  This causes the shared usb+network interrupt 
> to remain masked, preventing network interrupts from being delivered,
> and thus triggering watchdog timeouts.
> 
> This patch only addresses the USB driver.  If your network card is 
> sharing an interrupt with something other than (or additional to) USB,
> this might not work for you.  Also, this patch is just a very rough
> proof-of-concept and is not meant for production use.  But I'd like to
> get feedback now before I spend more time on this.  If this works then
> I'll clean it up and make it suitable for the release, and I'll look at
> some of the other drivers like ichsmb.
> 
> If this is to be fixed for 6.2, I need lots of feedback ASAP.  So please
> do not be shy =-)  The patch is at:
> 
> http://people.freebsd.org/~scottl/usb_fastintr.diff
> 
> Scott
> 
> _______________________________________________
> freebsd-stable at freebsd.org mailing list
> http://lists.freebsd.org/mailman/listinfo/freebsd-stable
> To unsubscribe, send any mail to "freebsd-stable-unsubscribe at freebsd.org"


More information about the freebsd-stable mailing list