From owner-freebsd-current@FreeBSD.ORG Thu Apr 7 17:44:53 2005 Return-Path: Delivered-To: freebsd-current@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 9C7D716A4DF; Thu, 7 Apr 2005 17:44:53 +0000 (GMT) Received: from www.cryptography.com (li-22.members.linode.com [64.5.53.22]) by mx1.FreeBSD.org (Postfix) with ESMTP id 4614D43D1F; Thu, 7 Apr 2005 17:44:53 +0000 (GMT) (envelope-from nate@root.org) Received: from [10.0.0.34] (adsl-67-119-74-222.dsl.sntc01.pacbell.net [67.119.74.222]) by www.cryptography.com (8.12.8/8.12.8) with ESMTP id j37HiqLS008530 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NOT); Thu, 7 Apr 2005 10:44:52 -0700 Message-ID: <42557193.1050805@root.org> Date: Thu, 07 Apr 2005 10:44:51 -0700 From: Nate Lawson User-Agent: Mozilla Thunderbird 1.0RC1 (X11/20041205) X-Accept-Language: en-us, en MIME-Version: 1.0 To: Antoine Brodin References: <200504051349.13620.jhb@FreeBSD.org> <20050405204106.15e9d993.antoine.brodin@laposte.net> <200504051449.30871.jhb@FreeBSD.org> <20050405214759.3921d21d.antoine.brodin@laposte.net> In-Reply-To: <20050405214759.3921d21d.antoine.brodin@laposte.net> Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit cc: freebsd-current@FreeBSD.org cc: k-gleb@yandex.ru cc: dan.cojocar@gmail.com cc: John Baldwin Subject: Re: Interrupt storm X-BeenThere: freebsd-current@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: Discussions about the use of FreeBSD-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 07 Apr 2005 17:44:53 -0000 Antoine Brodin wrote: > John Baldwin wrote: > >>On Tuesday 05 April 2005 02:41 pm, Antoine Brodin wrote: >> >>>John Baldwin wrote: >>> >>>>Ok, I see the issue now. The problem is that the BIOS sets the IRQ >>>>registers in the PCI devices to values that don't match how the links are >>>>programmed and we tend to trust the BIOS over the links in those cases. >>>>Can you tell me what IRQ sk0 gets if you don't use ACPI? Does it get 5 >>>>or 9? If it gets 9, does it work ok? >>>> >>>>You can try this patch for ACPI. Unfortunately, some BIOSes lie when you >>>>ask a link which IRQ it is routed to, so I'm not sure if this patch can >>>>be committed as is. Nate, do you know if such BIOSen only return no IRQ >>>>at all (0 or 255) when they lie rather than a bogus "valid" IRQ? >>> >>>Without ACPI, sk0 gets irq 5 and it works ok. >>> >>>With your patch and ACPI, sk0 no longer timeouts, and it's usable. >>>But I still have interrupt storms. >>>dmesg: http://bsd.miki.eu.org/~antoine/current+acpi+patch.dmesg >> >>Well, all the interrupts are now routed the same as with the old ACPI code. >>Perhaps, can you try commenting out the code that calls _DIS in >>acpi_pci_link_attach()? Specifically, here: >>And let me know if that makes a difference. > > > Thanks ! That makes everything work well ! > Also, backing out your previous change and only #if0ing the code that > calls _DIS makes everything work well too. > So I guess the _DIS methods of my BIOS are the culprit. I assume when we run _DIS on a link, we set a flag for that link saying it is unrouted. (We can't trust _CRS to report this correctly so we have to cache the value ourselves.) So we should explicitly re-route all those links (with _SRS) sometime later. Is that not happening? -- Nate