From owner-freebsd-stable@FreeBSD.ORG Wed Apr 28 20:13:35 2010 Return-Path: Delivered-To: freebsd-stable@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id E95B91065673 for ; Wed, 28 Apr 2010 20:13:35 +0000 (UTC) (envelope-from jhb@freebsd.org) Received: from cyrus.watson.org (cyrus.watson.org [65.122.17.42]) by mx1.freebsd.org (Postfix) with ESMTP id A93B08FC26 for ; Wed, 28 Apr 2010 20:13:35 +0000 (UTC) Received: from bigwig.baldwin.cx (66.111.2.69.static.nyinternet.net [66.111.2.69]) by cyrus.watson.org (Postfix) with ESMTPSA id C46F846B03; Wed, 28 Apr 2010 16:13:34 -0400 (EDT) Received: from jhbbsd.localnet (smtp.hudson-trading.com [209.249.190.9]) by bigwig.baldwin.cx (Postfix) with ESMTPA id 2C1CE8A01F; Wed, 28 Apr 2010 16:13:22 -0400 (EDT) From: John Baldwin To: kama Date: Wed, 28 Apr 2010 14:50:56 -0400 User-Agent: KMail/1.12.1 (FreeBSD/7.3-CBSD-20100217; KDE/4.3.1; amd64; ; ) References: <20100427150736.A4522@ns1.as.pvp.se> <20100428190652.Y4522@ns1.as.pvp.se> In-Reply-To: <20100428190652.Y4522@ns1.as.pvp.se> MIME-Version: 1.0 Content-Type: Text/Plain; charset="iso-8859-1" Content-Transfer-Encoding: 7bit Message-Id: <201004281450.56272.jhb@freebsd.org> X-Greylist: Sender succeeded SMTP AUTH, not delayed by milter-greylist-4.0.1 (bigwig.baldwin.cx); Wed, 28 Apr 2010 16:13:22 -0400 (EDT) X-Virus-Scanned: clamav-milter 0.95.1 at bigwig.baldwin.cx X-Virus-Status: Clean X-Spam-Status: No, score=-2.6 required=4.2 tests=AWL,BAYES_00 autolearn=ham version=3.2.5 X-Spam-Checker-Version: SpamAssassin 3.2.5 (2008-06-10) on bigwig.baldwin.cx Cc: Giovanni Trematerra , freebsd-stable@freebsd.org Subject: Re: HP 380 G4 - ciss kernel page fault. X-BeenThere: freebsd-stable@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Production branch of FreeBSD source code List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 28 Apr 2010 20:13:36 -0000 On Wednesday 28 April 2010 1:38:15 pm kama wrote: > > On Wed, 28 Apr 2010, Giovanni Trematerra wrote: > > > On Wed, Apr 28, 2010 at 4:07 PM, kama wrote: > > > > > > > > > On Wed, 28 Apr 2010, John Baldwin wrote: > > > > > >> On Wednesday 28 April 2010 3:22:44 am kama wrote: > > >> > > > >> > On Tue, 27 Apr 2010, John Baldwin wrote: > > >> > > > >> > > On Tuesday 27 April 2010 9:30:12 am kama wrote: > > >> > > > > > >> > > > Hi. > > >> > > > > > >> > > > I have problem when probing the ciss device. Causing a kernel panic. > > >> This > > >> > > > happened when I upgraded from 6.3 to 7.3-stable. Booting the old kernel > > >> > > > works. So something has changed. I am also getting the error on both the > > >> > > > 7.3 and the 8.0 install cd's. > > >> > > > > > >> > > > The ciss that causing the problem is a Smart Array 6404 and its the > > >> addon > > >> > > > card that it faults at. The server disconnect it due to an error. But > > >> > > > since it works on 6.3 it is something that have changed. FreeBSD should > > >> > > > not panic, it should just disable it. > > >> > > > > > >> > > > Also I tried to disable the card in the BIOS, but FreeBSD try to probe > > >> it > > >> > > > anyway and panic. > > >> > > > > > >> > > > This whats comes up on a verbose boot through the ILO remote console. > > >> > > > (typed in manually from a screenshot) > > >> > > > > > >> > > > ciss2: port 0x6400-0x64ff mem > > >> > > > 0xfdf70000-0xfdf71fff irq 98 at device 5.0 on pcill > > >> > > > ciss2: Reserved 0x2000 bytes for rid 0x10 type 3 at 0xfdf70000 > > >> > > > pci11: child ciss2 requested type 3 for rid 0, but the BAR says it is an > > >> > > > ioport > > >> > > > ciss2: can't allocate config window > > >> > > > kernel trap 12 with interupts disabled > > >> > > > > >> > > Can you get the ciss2 boot messages from a working 6.x kernel? > > >> > > > >> > This is the verbose boot on 6.3. > > >> > > > >> > FreeBSD 6.3-STABLE #3: Thu Mar 6 14:29:33 CET 2008 > > >> > > > >> > ciss1: 10 physical devices > > >> > ciss1: 4 logical drives > > >> > ciss1: logical drive (b0t0): RAID 1, 69120MB online > > >> > ciss1: logical drive (b0t1): RAID 1, 69120MB online > > >> > ciss1: logical drive (b0t2): RAID 1, 139776MB online > > >> > ciss1: logical drive (b0t3): RAID 1, 139776MB online > > >> > > > >> > ciss2: port 0x6400-0x64ff mem > > >> > 0xfdf70000-0xfdf71fff,0xfdf00000-0xfdf3ffff irq 98 at device 5.0 on pci11 > > >> > ciss2: Reserved 0x2000 bytes for rid 0x10 type 3 at 0xfdf70000 > > >> > pci11: child ciss2 requested type 3 for rid 0, but the BAR says it is an > > >> > ioport > > >> > ciss2: can't allocate config window > > >> > device_attach: ciss2 attach returned 6 > > >> > > >> Oh, so it didn't work in 6.x either, it just handles failure less gracefully > > >> in 7.0+? > > > > > > No, ciss2 is disabled. The difference is that 6.x continue to boot instead > > > of a kernel panic as in 7.x and 8.x. > > > > > > I dont have any disks attached to ciss2, so I dont really need it. But > > > ciss1 and ciss2 is on the same physical card, so I cant just remove it. > > > > > > > Could you try this one if you are looking for a patch to 7-STABLE. > > > > Thank you > > > > diff -r ffd3e5d37758 sys/dev/ciss/ciss.c > > --- a/sys/dev/ciss/ciss.c Wed Apr 28 10:20:41 2010 -0400 > > +++ b/sys/dev/ciss/ciss.c Wed Apr 28 11:39:05 2010 -0400 > > @@ -394,6 +394,8 @@ ciss_attach(device_t dev) > > > > sc = device_get_softc(dev); > > sc->ciss_dev = dev; > > + mtx_init(&sc->ciss_mtx, "cissmtx", NULL, MTX_DEF); > > + callout_init_mtx(&sc->ciss_periodic, &sc->ciss_mtx, 0); > > > > /* > > * Work out adapter type. > > @@ -428,8 +430,6 @@ ciss_attach(device_t dev) > > ciss_initq_busy(sc); > > ciss_initq_complete(sc); > > ciss_initq_notify(sc); > > - mtx_init(&sc->ciss_mtx, "cissmtx", NULL, MTX_DEF); > > - callout_init_mtx(&sc->ciss_periodic, &sc->ciss_mtx, 0); > > > > /* > > * Initalize device sysctls. > > @@ -494,8 +494,11 @@ ciss_attach(device_t dev) > > > > error = 0; > > out: > > - if (error != 0) > > - ciss_free(sc); > > + if (error != 0) { > > + /* ciss_free() expects the mutex to be held */ > > + mtx_lock(&sc->ciss_mtx); > > + ciss_free(sc); > > + } > > return(error); > > } > > > > This patch made the system boot again. > > FreeBSD 7.3-STABLE #2: Wed Apr 28 19:17:43 CEST 2010 > > ciss1: 4 logical drives > ciss1: logical drive (b0t0): RAID 1, 69120MB online > ciss1: logical drive (b0t1): RAID 1, 69120MB online > ciss1: logical drive (b0t2): RAID 1, 139776MB online > ciss1: logical drive (b0t3): RAID 1, 139776MB online > ciss2: port 0x6400-0x64ff mem > 0xfdf70000-0xfdf71fff irq 98 at device 5.0 on pci11 > ciss2: Reserved 0x2000 bytes for rid 0x10 type 3 at 0xfdf70000 > pci11: child ciss2 requested type 3 for rid 0, but the BAR says it is an > ioport > ciss2: can't allocate config window > device_attach: ciss2 attach returned 6 > uhci0: port 0x2000-0x201f irq > 16 at device 29.0 on pci0 > uhci0: Reserved 0x20 bytes for rid 0x20 type 4 at 0x2000 > ioapic0: routing intpin 16 (PCI IRQ 16) to vector 55 > uhci0: [GIANT-LOCKED] > uhci0: [ITHREAD] > usb0: on uhci0 > > Thank you both for looking in to it and making such a fast fix! > > Now Im off to upgrade to 8.0-STABLE if I find what to edit. Or if you want > to send a patch. I've committed the smaller patch to HEAD to fix just the callout_init_mtx(). I can MFC that fix and the other patch to fix the mutex that is already in HEAD in a few days. -- John Baldwin