Eric W. Biederman wrote:
In my older days of programmin 82489DX chipsets (which the AMD APIC versions resemble the 82489DX more closely than intel's newer incarnations), you had to EOI the apic early if you wanted to migrate interrupt assignments. I had to do the following steps to move an IRQ:** Conclusions. *IRQs must be reprogramed in interrupt context. The result of this is investigation is that I am convinced we need to perform the irq migration activities in interrupt context although I am not convinced it is completely safe. I suspect multiple irqs firing closely enough to each other may hit the same issues as migrating irqs from process context. However the odds are on our side, when we are in irq context.
1. Mask the LOCAL APIC 2, EOI the interrupt 3. Leave the interrupt entry masked until the ISR completed. 4. Reprogram the interrupt. 5. Unmask as the ISR exits In other words, EOI early in all cases to clear the local and IOAPIC state. Jeff - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to [email protected] More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
- Follow-Ups:
- Re: Conclusions from my investigation about ioapic programming
- From: [email protected] (Eric W. Biederman)
- Re: Conclusions from my investigation about ioapic programming
- References:
- Re: System crash after "No irq handler for vector" linux 2.6.19
- From: [email protected] (Eric W. Biederman)
- [PATCH 1/2] x86_64 irq: Simplfy __assign_irq_vector
- From: [email protected] (Eric W. Biederman)
- [PATCH 2/2] x86_64 irq: Handle irqs pending in IRR during irq migration.
- From: [email protected] (Eric W. Biederman)
- Re: [PATCH 2/2] x86_64 irq: Handle irqs pending in IRR during irq migration.
- From: Ingo Molnar <[email protected]>
- Re: [PATCH 2/2] x86_64 irq: Handle irqs pending in IRR during irq migration.
- From: [email protected] (Eric W. Biederman)
- Re: [PATCH 2/2] x86_64 irq: Handle irqs pending in IRR during irq migration.
- From: Ingo Molnar <[email protected]>
- Re: [PATCH 2/2] x86_64 irq: Handle irqs pending in IRR during irq migration.
- From: [email protected] (Eric W. Biederman)
- Re: [PATCH 2/2] x86_64 irq: Handle irqs pending in IRR during irq migration.
- From: [email protected] (Eric W. Biederman)
- Re: [PATCH 2/2] x86_64 irq: Handle irqs pending in IRR during irq migration.
- From: [email protected] (Eric W. Biederman)
- What are the real ioapic rte programming constraints?
- From: [email protected] (Eric W. Biederman)
- Re: What are the real ioapic rte programming constraints?
- From: Zwane Mwaikambo <[email protected]>
- Re: What are the real ioapic rte programming constraints?
- From: [email protected] (Eric W. Biederman)
- Re: What are the real ioapic rte programming constraints?
- From: Zwane Mwaikambo <[email protected]>
- Re: What are the real ioapic rte programming constraints?
- From: [email protected] (Eric W. Biederman)
- Re: What are the real ioapic rte programming constraints?
- From: Zwane Mwaikambo <[email protected]>
- Re: What are the real ioapic rte programming constraints?
- From: [email protected] (Eric W. Biederman)
- Conclusions from my investigation about ioapic programming
- From: [email protected] (Eric W. Biederman)
- Re: System crash after "No irq handler for vector" linux 2.6.19
- Prev by Date: questions about 8250 uart support for adhoc boards
- Next by Date: sata_sil problems with recent kernels
- Previous by thread: Re: [PATCH 12/14] x86_64 irq: Add constants for the reserved IRQ vectors.
- Next by thread: Re: Conclusions from my investigation about ioapic programming
- Index(es):