From owner-freebsd-current Tue Jun 26 7:40:19 2001 Delivered-To: freebsd-current@freebsd.org Received: from aslan.scsiguy.com (aslan.scsiguy.com [63.229.232.106]) by hub.freebsd.org (Postfix) with ESMTP id DFBCE37B407; Tue, 26 Jun 2001 07:40:11 -0700 (PDT) (envelope-from gibbs@scsiguy.com) Received: from scsiguy.com (localhost [127.0.0.1]) by aslan.scsiguy.com (8.11.2/8.9.3) with ESMTP id f5QEe8U17052; Tue, 26 Jun 2001 08:40:09 -0600 (MDT) (envelope-from gibbs@scsiguy.com) Message-Id: <200106261440.f5QEe8U17052@aslan.scsiguy.com> To: Dave Cornejo Cc: John Baldwin , freebsd-current@FreeBSD.ORG Subject: Re: SCSI hangs w/SuperMicro 6010H In-Reply-To: Your message of "Fri, 22 Jun 2001 23:23:49 PDT." <200106230623.f5N6Nna50591@white.dogwood.com> Date: Tue, 26 Jun 2001 08:40:08 -0600 From: "Justin T. Gibbs" Sender: owner-freebsd-current@FreeBSD.ORG Precedence: bulk List-ID: List-Archive: (Web Archive) List-Help: (List Instructions) List-Subscribe: List-Unsubscribe: X-Loop: FreeBSD.ORG >John Baldwin wrote: >> Hrmm, perhaps you are getting an interrupt storm from ahc. Ok, try >> this: find the ahc driver's interrupt handler, and add a printf. >> Then see if the printf fires while the machine is hung. > >Ok, I put a printf in ahc_handle_seqint() and ahc_handle_scsiint(). That won't catch all interrupts. Most notably, you won't know if commands are completing. Command completions are much more prevalent than sequencer or scsi interrupts. >My current (freshly cvsupped sources) kernel with the printf()s in it >is pretty consistent in it's behavior: with SMP it hangs soon after >the 15 second SCSI delay and keystrokes will not cause it to continue >to boot. > >The order that they print out on the screen is this: > >message "Waiting 15 seconds for SCSI devices to settle" > >(approximately 15 second delay) > >26 times scsiint called with intstat = 0x4, status0 = 0, status = 0x88 > (SELTO & BUSFREE?) So 26 of the 30 possible target ID positions on the controller are empty. >2 times seqint called with instat = 0x71 (BAD_STATUS?) Two commands returned status other than 0 - most likely "check condition". >36 times seqint called with intstat = 0x61 (HOST_MSG_LOOP?) We negotiated transfer settings with some devices. These all seem quite normal. -- Justin To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-current" in the body of the message