Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 7 Mar 2006 16:09:14 -0500
From:      John Baldwin <jhb@freebsd.org>
To:        Oleg Sharoiko <os@rsu.ru>
Cc:        freebsd-scsi@freebsd.org, Andrey Beresovsky <and@rsu.ru>
Subject:   Re: Boot hangs on ips0: resetting adapter, this may take up to 5 minutes
Message-ID:  <200603071609.18149.jhb@freebsd.org>
In-Reply-To: <20060307223407.M722@wolf.os.rsu.ru>
References:  <20060215102749.D58480@brain.cc.rsu.ru> <200603071343.23672.jhb@freebsd.org> <20060307223407.M722@wolf.os.rsu.ru>

next in thread | previous in thread | raw e-mail | index | archive | help
On Tuesday 07 March 2006 15:23, Oleg Sharoiko wrote:
> 
> 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.

Actually, the real issue is that GENERIC amd64 doesn't include device atpic
in HEAD, but does on 6.x.  And what is actually happening is that without
APIC, there is no interrupt controller at all, and thus no interrupts.  You
will need to add 'device atpic' to your kernel config on HEAD for amd64 to
test the non-APIC case.  But really, the APIC case should 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. 

It looks like neither ips nor isp devices are getting interrupts in the
amd64 case.

> 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:

Those diffs aren't important, due to extra npx interrupt as you mentioned.

So amd64 is busted in both the UP and SMP cases with APIC enabled, yes?

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



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200603071609.18149.jhb>