From owner-freebsd-scsi@FreeBSD.ORG Thu Apr 6 19:28:07 2006 Return-Path: X-Original-To: freebsd-scsi@freebsd.org Delivered-To: freebsd-scsi@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id E9F3816A8D6; Thu, 6 Apr 2006 19:28:07 +0000 (UTC) (envelope-from os@rsu.ru) Received: from mail.r61.net (mail.r61.net [195.208.245.235]) by mx1.FreeBSD.org (Postfix) with ESMTP id 6878D466C2; Thu, 6 Apr 2006 19:08:06 +0000 (GMT) (envelope-from os@rsu.ru) Received: from wolf.os.rsu.ru (os@os.adsl.r61.net [195.208.243.95]) (authenticated bits=0) by mail.r61.net (8.13.4/8.13.4) with ESMTP id k36J7qSj022892 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NOT); Thu, 6 Apr 2006 23:07:55 +0400 (MSD) (envelope-from os@rsu.ru) Date: Thu, 6 Apr 2006 23:07:53 +0400 (MSD) From: Oleg Sharoiko To: John Baldwin In-Reply-To: <20060328201134.S763@brain.cc.rsu.ru> Message-ID: <20060406223724.S1099@wolf.os.rsu.ru> References: <20060215102749.D58480@brain.cc.rsu.ru> <200603271607.09550.jhb@freebsd.org> <20060328185449.F763@brain.cc.rsu.ru> <200603281108.25548.jhb@freebsd.org> <20060328201134.S763@brain.cc.rsu.ru> MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII X-Virus-Scanned: ClamAV version 0.86.2, clamav-milter version 0.86 on asterix.r61.net X-Virus-Status: Clean Cc: freebsd-scsi@freebsd.org, Andrey Beresovsky Subject: Re: Boot hangs on ips0: resetting adapter, this may take up to 5 minutes X-BeenThere: freebsd-scsi@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: SCSI subsystem List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 06 Apr 2006 19:28:08 -0000 Hi, that's me again. John, I've got more information on my problem: It looks like the mis-routed interrupt is the one from ips. In my kernel ips is on vector 49 and bge is on vector 60. I've added if (vector == 60) vector = 49; to sys/amd64/amd64/local_apic.c and I have no more interrupt storm until bge really generates interrupt. Am I right with my conclusion about ips interrupt being mis-directed to bge? There's also another interesting point: it looks like ips triggers interrupt on both vectors (49 and 60 - irq 28 and irq 16). Why do I think so? 1. ips works fine even when there's no bge in kernel (I suppose irq 16 is not activated in this case). I suppose this should mean that interrupts are properly delivered to ips driver. 2. I've added debug printf to bge_intr and in single mode when preemption is disabled I see exact the same number of interrupts delivered to ips (checked counters with showintrcnt) and to bge (incorrectly delivered - bge is not in UP state and bge registers say "no interrupt"). This seems really strange to me, how can this be possible? Is there any way to fix this? On Tue, 28 Mar 2006, Oleg Sharoiko wrote: OS> OS>On Tue, 28 Mar 2006, John Baldwin wrote: OS> OS>JB>Is this an Intel box? OS> OS>This is IBM xSeries 226. Motherboard is labeled 'MS 9151 Ver.1'. It OS>appears to be MSI E7525 Master-S2 or a modification of it. I couldn't find OS>information about it in the net. Just few short notes and nothing else. I OS>suppose it's based on Intel's E7525 chipset. OS> OS>JB>It only detects it if the interrupt line is constantly on. If the interrupt OS>JB>line goes off for a little bit and then back on often enough the istorm logic OS>JB>won't kick in. You can try lowering the threshold via the tunable to see if OS>JB>you can get it to kick in perhaps. OS> OS>No luck here. OS> OS> -- Oleg Sharoiko. Software and Network Engineer Computer Center of Rostov State University.