Argh, Stray interrupts 2006

Matthew Dillon dillon at apollo.backplane.com
Sat Jun 3 10:17:47 PDT 2006


:Thats not really a solution as I don't want a
:system thats processing 100s of interrupts per
:second for no reason. I previously reported that
:these were gone, but now that I put another card
:in the box (a dual port intel ethernet), they're
:back.
:
:I know I've been told that its a bios
:configuration problem, however I don't get stray
:interrupts if I pop a FreeBSD disk on the exact
:same hardware. So why is it a misconfiguration in
:DFLY but not in FreeBSD?
:
:DT

    I like how you always twist things so it's somehow our fault.

    The BIOS/MB issue is that some motherboards route all system interrupts
    to a single PIC IRQ line in order to allow the BIOS to implement things 
    like USB keyboard support and NetBoot during boot.  The chipset 
    manufacturers do not publish how to turn it off, and on some motherboards
    there is no way to turn it off short of turning off the PIC itself,
    and even then it is sometimes not possible to turn it off.

    It might be possible to bypass the issue using the SMP + APIC_IO option,
    but chipset vendors have also had the keen idea of doing the same sort
    of shit for IOAPIC interrupts too.  Some of Intel's own chipsets completely
    break IOAPIC pin masking by causing the chip to route to a default
    vector if a pin is masked.  Sometimes it is possible to bypass
    the problem by not using IOAPIC interrupt masking (and sometimes it isn't),
    and sometimes it is possible to bypass the problem by masking the 
    pin representing the default vector.  Or not.

    FreeBSD has recently moved away from using the PIC alltogether, primarily
    by using the LAPIC timer instead of the i2854.  I think its a good idea,
    but it represents quite a chunk of work.  It may or may not solve this
    particular issue (it is just one of many related to broken BIOSes and
    motherboards that pop up).

    In anycase, if you want to solve the problem the source code is right
    there, start coding!  You seem to want to simplify problems down to
    one-liner's, and blame us for all your woes in the process, but the
    reality is that it is a far more complex issue then you seem to want to
    believe.

						-Matt







More information about the Users mailing list