Re: apic lockups

From: David Wolfskill <david_at_catwhisker.org>
Date: Fri, 21 May 2004 10:01:44 -0700 (PDT)
>From: John Baldwin <jhb_at_freebsd.org>
>To: freebsd-current_at_freebsd.org
>Date: Fri, 21 May 2004 10:26:56 -0400
>Cc: Nik Azim Azam <nskyline_r35_at_yahoo.com>
>Subject: Re: apic lockups
>Sender: owner-freebsd-current_at_freebsd.org

>Ok, it looks like you have an interrupt storm on IRQ's 5 and 10.  Ah, and it 
>seems possibly that a change I made recently to the mptable code is incorrect 
>even though it's what the MP and ACPI specs say to do.  Can you try this 
>patch:

>Index: mptable.c
>===================================================================
>RCS file: /usr/cvs/src/sys/i386/i386/mptable.c,v
>retrieving revision 1.232
>diff -u -r1.232 mptable.c
>--- mptable.c	10 May 2004 18:49:58 -0000	1.232
>+++ mptable.c	21 May 2004 14:24:31 -0000
>_at__at_ -549,17 +549,10 _at__at_
> 	KASSERT(src_bus <= mptable_maxbusid, ("bus id %d too large", src_bus));
> 	switch (busses[src_bus].bus_type) {
> 	case ISA:
>+	case EISA:
> 		return (INTR_POLARITY_HIGH);
> 	case PCI:
> 		return (INTR_POLARITY_LOW);
>-#ifndef PC98
>-	case EISA:
>-		KASSERT(src_bus_irq < 16, ("Invalid EISA IRQ %d", src_bus_irq));
>-		if (elcr_read_trigger(src_bus_irq) == INTR_TRIGGER_LEVEL)
>-			return (INTR_POLARITY_LOW);
>-		else
>-			return (INTR_POLARITY_HIGH);
>-#endif
> 	default:
> 		panic("%s: unknown bus type %d", __func__,
> 		    busses[src_bus].bus_type);

Last couple of days, freshly-built -CURRENT kernels would panic before
mounting file systems on my SMP box, but my laptop was fine.

In an effort to finally try something, I first tried reverting
sys/dev/acpica/acpi_ec.c to 1.47; that did not help.

Then, seeing the above, and the suggestion to "revert rev 1.65 of
sys/dev/acpica/acpivar.h", I tried both of those changes.

At least one of them appears to have made a useful difference:

freebeast(5.2-C)[1] uname -a
FreeBSD freebeast.catwhisker.org 5.2-CURRENT FreeBSD 5.2-CURRENT #197: Fri May 21 09:35:31 PDT 2004     root_at_freebeast.catwhisker.org:/common/S4/obj/usr/src/sys/FREEBEAST  i386
freebeast(5.2-C)[2] 

I need to run off to a custoomer site & do some work; with luck,
I'll be able to be back online & able to test things by around 1300
hrs. US/Pacific.

Peace,
david
-- 
David H. Wolfskill				david_at_catwhisker.org
I do not "unsubscribe" from email "services" to which I have not explicitly
subscribed.  Rather, I block spammers' access to SMTP servers I control,
and encourage others who are in a position to do so to do likewise.
Received on Fri May 21 2004 - 08:01:56 UTC

This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:37:54 UTC