Boot hangs on ips0: resetting adapter, this may take up to 5 minutes

John Baldwin jhb at freebsd.org
Fri Mar 24 21:08:45 UTC 2006


On Friday 24 March 2006 15:14, Scott Long wrote:
> John Baldwin wrote:
> > On Friday 24 March 2006 13:12, Oleg Sharoiko wrote:
> > 
> >>On Fri, 24 Mar 2006, John Baldwin wrote:
> >>
> >>JB>Hmm, well that interrupt storm is not due to a misrouted interrupt, it
> >>JB>might be a bug in the bge(4) driver.  Can you try compiling a kernel w/o
> >>JB>USB and seeing if you can still reproduce the interrupt storm?
> >>
> >>Yes.
> >>
> >>db> show intrcnt
> >>irq1: atkbd0            2
> >>irq4: sio0              3672
> >>irq6: fdc0              6
> >>irq9: acpi0             1
> >>irq14: ata0             36
> >>irq16: bge0             2592958
> >>irq28: ips0             728
> >>cpu0: timer             143147
> > 
> > 
> > Hmm, you might need to look at bge(4) and figure out what condition it
> > is interrupting on, and why the driver isn't handling that condition.
> > 
> > 
> >>John, can you tell anything about another case, for which interrupt 
> >>counters are:
> >>
> >>db> show intrcnt
> >>irq1: atkbd0            1
> >>irq4: sio0              3
> >>irq6: fdc0              2
> >>irq9: acpi0             345147
> >>irq14: ata0             1
> >>cpu0: timer             57995
> >>
> >>Does this also show an interrupt storm? This one has happened without bge 
> >>in kernel. I'm asking because I've seen several different scenarios of 
> >>hangs and this is from one of them. I'll try to reproduce all cases and 
> >>gather interrupt statistics from all of them. I'm wondering can't all this 
> >>cases be caused by one common reason behind all of them.
> > 
> > 
> > This just looks like you aren't getting interrups from devices at all.
> > 
> 
> 345,000 interrupts from scpi0 seems high.

Yeah, I guess it might be.  It's smaller than the bge interrupt storm
number. :)  It could be that the BIOS has bungled the trigger or polarity
of the SCI (this is common, but we have a workaround for the more common
breakage).  There are tunables that let you set the trigger and polarity
of the SCI (acpi interrupt).

MADT: Interrupt override: source 9, irq 9
ioapic0: intpin 9 trigger: level
ioapic0: intpin 9 polarity: high

Yeah, level/high seems weird.  Try setting either
'hw.acpi.sci.trigger=edge' or 'hw.acpi.sci.polarity=low' from the loader
to see if that makes your machine happier.

-- 
John Baldwin <jhb at FreeBSD.org>  <><  http://www.FreeBSD.org/~jhb/
"Power Users Use the Power to Serve"  =  http://www.FreeBSD.org


More information about the freebsd-scsi mailing list