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

Oleg Sharoiko os at rsu.ru
Tue Mar 7 12:23:03 PST 2006


On Tue, 7 Mar 2006, John Baldwin wrote:

JB>Your no apic case doesn't have ACPI in the kernel, and as such the kernel
JB>doesn't succeed in routing interrupts at all.  You really should have
JB>ACPI on for amd64 in both cases.  Do you have a dmesg from an i386 kernel

Strange. I can bet I just built GENERIC kernel. I'll definitely double 
check this as I surely could make a mistake. Anyway this has triggered a 
bug which is now known and will be fixed.

JB>with APIC that I can compare with the amd64 dmesg with APIC?

Here what I have from today:

1. http://rsu.ru/~os/ips/boot.2006-03-07.amd64.txt
2. http://rsu.ru/~os/ips/boot.2006-03-07.i386.txt
3. http://rsu.ru/~os/ips/boot.2006-03-07.with_qlogic_not_connected.amd64.txt
4. http://rsu.ru/~os/ips/boot.2006-03-07.with_qlogic_not_connected.i386.txt
5. http://rsu.ru/~os/ips/boot.2006-03-07.with_qlogic_connected.amd64.txt
6. http://rsu.ru/~os/ips/boot.2006-03-07.with_qlogic_connected.i386.txt

All cases are 7-CURRENT GENERIC kernel (with SMP option by default) built 
from sources checked out with -D '2006-02-28 22:30:00 UTC'. APIC is 
enabled in all cases.
 1 and 2 were made with only ips card inserted into pci slot
 3 and 4 - with two additional qlogic (isp) fiber channel cards with fiber 
channel links left unconnected.
 5 and 6 - with qlogic cards connected to ibm ds-4100

The reason to mention 3-6 is a different behaviour: without qlogic cards 
or when qlogic cards are not connected amd64 boot stops on "ips0: 
resetting adapter, this may take up to 5 minutes". When qlogics are 
connected to the storage subsystem the last message from boot is "lo0: bpf 
attached". Corresponding part of log from i386 boot is:

lo0: bpf attached
isp0: LIP Received
isp1: LIP Received
isp1: Loop UP
isp0: Loop UP

and more from isp0 and isp1. I assume that in amd64 case interrupts 
doesn't get to isp driver. Though I'm not sure if this means anything. 

I already tried to compare logs of i386 and amd64. Actually I was writing 
you a message about this when I got yours one. I didn't get much from this 
comparison, just found that i386 has npx which takes one interrupt vector 
and all devices in i386 are routed to vectors +1 compared to the same 
devices in amd64:

- i386; + amd64

 acpi0: <PTLTD   RSDT> on motherboard
-ioapic0: routing intpin 9 (ISA IRQ 9) to vector 49
+ioapic0: routing intpin 9 (ISA IRQ 9) to vector 48

 bge0: Ethernet address: 00:0d:60:17:a1:51
-ioapic0: routing intpin 16 (PCI IRQ 16) to vector 50
+ioapic0: routing intpin 16 (PCI IRQ 16) to vector 49

and so on. I hope these logs will tell you more. Let me know if I can do 
anything else for you.

-- 
Oleg Sharoiko.
Software and Network Engineer
Computer Center of Rostov State University.


More information about the freebsd-scsi mailing list