lkml.org 
[lkml]   [2006]   [Jun]   [25]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    SubjectRe: Problem with 2.6.17-mm2
    From
    Date
    Andrew,

    On Sun, 2006-06-25 at 03:49 -0700, Andrew Morton wrote:
    > OK, thanks.
    >
    > > 1) A lot of "unexpected IRQ trap at vector X" for X=[09,07]
    >
    > hm, ack_bad_irq(). That isn't supposed to happen.
    >
    > Ingo, Thomas - it's possible that -mm2's genirq is affecting x86?

    I did some tests by asserting spurious interrupts. genirq is just making
    them visible, backing out the genirq changes makes them invisible again.

    The reason is:

    ack_bad_irq() in !genirq is only called, when no hw_irq_controller has
    been installed. The interrupts in question have the PIC/APIC/IOAPIC
    functions installed.

    Now when a spurios interrupt comes in we do

    desc->handler->ack(irq);

    if (!desc->action)
    goto out;

    So in fact this just silently acks spurious interrupts which have an
    hw_irq_controller assigned. If there is no action, then nothing has
    called setup_irq/request_irq for this interrupt line and therefor it is
    an spurious interrupt which should not happen.


    genirq makes these visible and informs noisily about those events.

    Looking at the debug output we see:

    irq 7, desc: c037bc00, depth: 1, count: 0, unhandled: 0
    ->handle_irq(): c013d360, handle_bad_irq+0x0/0x270
    ->chip(): c037f980, 0xc037f980
    ->action(): 00000000
    IRQ_DISABLED set

    The interrupt is disabled and action is NULL.

    tglx


    -
    To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
    the body of a message to majordomo@vger.kernel.org
    More majordomo info at http://vger.kernel.org/majordomo-info.html
    Please read the FAQ at http://www.tux.org/lkml/

    \
     
     \ /
      Last update: 2006-06-25 19:24    [W:0.021 / U:1.256 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site