Messages in this thread | | | Date | Fri, 20 Dec 2002 03:15:18 -0800 | From | William Lee Irwin III <> | Subject | Re: [PATCH] IRQ distribution in the 2.5.52 kernel |
| |
On Fri, Dec 20, 2002 at 01:08:18AM -0800, Kamble, Nitin A wrote: > -static inline void balance_irq(int irq) > +static inline void balance_irq (int cpu, int irq) > { > - irq_balance_t *entry = irq_balance + irq; > unsigned long now = jiffies; > - > + unsigned long allowed_mask; > + unsigned int new_cpu; > + > if (clustered_apic_mode) > return;
This can actually be done for clustered_apic_mode, just not as the IO-APIC is currently programmed. It needs to either:
(1) develop awareness of multiple APIC buses and not attempt to perform physical mode interrupt delivery to non-existant destinations or overflow destination bitmasks to cpus not physically addressible from the local cluster
or
(2) the IO-APIC must be programmed for clustered hierarchical destinations in clustered setups, which probably isn't that hot an idea as the IO-APIC's in such setups usually have some affinity to the locally addressible physical destinations
These are both a PITA, but I thought I'd just sort of fling the issues into open discussion since something touching this code hit the list.
There's some complexity in these schemes so unless you feel brave and/or interested there's no need for you to run off and implement them etc.
No criticism of or flaws in your patch implied.
Thanks, Bill - 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/
| |