tech-kern archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Re: Interrupt issues with amd64 and an IXSystems 1U server (5.1)



I had a similar issue on a SuperMicro motherboard. The attached patch is for -current but should not be too hard to adapt to 5.1



On Thu, 12 May 2011, Brian Buhrow wrote:

        Hello.  I did try doing a diff of working and non-working kernels, but
the differences weren't obvious to me.  However, I think the problem is
that the network chips are interrupting on ioapic1, where as everything
else is interrupting on ioapic0.  It looks like even though ioapic1
interrupts are showing up in vmstat -i output, they're not actually causing
the drivers to get triggered.  It looks like this is a potentially known
issue, but I can't find any particular patches which address the problem.
Anyone else ever seen times when interrupts from ioapic1 or higher don't
get routed properly?
-thanks
-Brian
On May 12, 11:54pm, Manuel Bouyer wrote:
} Subject: Re: Interrupt issues with amd64 and an IXSystems 1U server (5.1)
} On Thu, May 12, 2011 at 12:12:54PM -0700, Brian Buhrow wrote:
} >  Hello.  I've got anew system I'm building where I have interrupt
} > issues with with the GENERIC kernel. This is an amd64 system with
} > NetBSD-5.1 with sources as of about 3 weeks ago.
} >  The INSTALL kernel works fine, but when I boot the GENERIC kernel, the
} > ethernet doesn't work.  I get a bunch of device timeout messages.  Both the
} > INSTALL and GENERIC kernels are  built from the same 5.1 sources.
} >  Anyone have ideas on why the INSTALL kernel works fine, but the
} > GENERIC kernel does not?  They look to be the same to me in so far as  the
} > INSTALL config includes the GENERIC config.  I rebuilt the GENERIC kernel
} > to turn off MTRR  support, as the INSTALL kernel does, but that doesn't
} > help, though it does remove the FIXME message about there being too many
} > MTRR devices on the system.
}
} Did you try to diff the dmesg of working and non-working kernels ?
}
} --
} Manuel Bouyer <bouyer%antioche.eu.org@localhost>
}      NetBSD: 26 ans d'experience feront toujours la difference
} --
-- End of excerpt from Manuel Bouyer



!DSPAM:4dcc62302402595018236!




-------------------------------------------------------------------------
| Paul Goyette     | PGP Key fingerprint:     | E-mail addresses:       |
| Customer Service | FA29 0E3B 35AF E8AE 6651 | paul at whooppee.com    |
| Network Engineer | 0786 F758 55DE 53BA 7731 | pgoyette at juniper.net |
| Kernel Developer |                          | pgoyette at netbsd.org  |
-------------------------------------------------------------------------
Index: src/sys/arch/x86/x86/mpacpi.c
===================================================================
RCS file: /cvsroot/src/sys/arch/x86/x86/mpacpi.c,v
retrieving revision 1.91
diff -u -p -r1.91 mpacpi.c
--- src/sys/arch/x86/x86/mpacpi.c       5 Apr 2011 13:17:04 -0000       1.91
+++ src/sys/arch/x86/x86/mpacpi.c       12 May 2011 23:04:06 -0000
@@ -625,7 +625,9 @@ mpacpi_derive_bus(ACPI_HANDLE handle, st
                if (ACPI_FAILURE(rv))
                        goto out;
 
-               if (acpi_match_hid(devinfo, pciroot_hid)) {
+               if (acpi_match_hid(devinfo, pciroot_hid) &&
+                   ((devinfo->Valid & ACPI_VALID_STA) == 0 ||
+                   (devinfo->CurrentStatus & ACPI_STA_OK) == ACPI_STA_OK)) {
                        rv = mpacpi_get_bbn(acpi, parent, &bus);
                        if (ACPI_FAILURE(rv))
                                bus = 0;


Home | Main Index | Thread Index | Old Index