Messages in this thread | | | Date | Mon, 11 Jan 2010 16:42:26 -0800 | From | "H. Peter Anvin" <> | Subject | Re: [patch] x86, apic: use 0x20 for the IRQ_MOVE_CLEANUP_VECTOR instead of 0x1f |
| |
On 01/11/2010 04:28 PM, Eric W. Biederman wrote: > > Without changes assign_irq_vector will reuse vectors in the range > IRQ0_VECTOR to IRQ15_VECTOR in the code as it we currently ship it, > when we switch irq0-15 into ioapic mode. > > Switching the loop to cover IRQ0_VECTOR to IRQ15_VECTOR is not a > problem. I don't think it will find anything free as we assign those > vectors on all cpus, but the data structures are fine. >
The question there is if we can treat the resulting ioapic IRQs as normal movable IRQs, and just let the target-moving mechanism take care of it. After all, there is a discrete event at which we decide that any particular interrupt is an IOAPIC interrupt instead of XT-PIC. Obviously, the vectors that remain XT-PIC vectors have to remain allocated on all vectors for all time.
Another question is why we reserve the legacy IRQ 2 vector at all -- except when ACPI is present! I don't think it could ever be tickled, and it sort of felt as a "just in case" thing that could be removed.
-hpa
| |