On 02/26/2010 02:26 AM, tip-bot for Ingo Molnar wrote: > Commit-ID: f6a929eb62ef43cae16ba6d4e2c64b4e430fe7a4 > Gitweb: http://git.kernel.org/tip/f6a929eb62ef43cae16ba6d4e2c64b4e430fe7a4 > Author: Ingo Molnar <mingo@xxxxxxx> > AuthorDate: Fri, 26 Feb 2010 11:17:16 +0100 > Committer: Ingo Molnar <mingo@xxxxxxx> > CommitDate: Fri, 26 Feb 2010 11:17:16 +0100 > > x86: apic: Fix mismerge, add arch_probe_nr_irqs() again > > Merge commit aef55d4922 mis-merged io_apic.c so we lost the > arch_probe_nr_irqs() method. > > This caused subtle boot breakages (udev confusion likely > due to missing drivers) with certain configs. > > Cc: H. Peter Anvin <hpa@xxxxxxxxx> > Cc: Yinghai Lu <yinghai@xxxxxxxxxx> > LKML-Reference: <20100207210250.GB8256@xxxxxxxxxxxxxxxxxxxxx> > Signed-off-by: Ingo Molnar <mingo@xxxxxxx> > --- > arch/x86/kernel/apic/io_apic.c | 22 ++++++++++++++++++++++ > 1 files changed, 22 insertions(+), 0 deletions(-) > > diff --git a/arch/x86/kernel/apic/io_apic.c b/arch/x86/kernel/apic/io_apic.c > index 527390c..c13ab8f 100644 > --- a/arch/x86/kernel/apic/io_apic.c > +++ b/arch/x86/kernel/apic/io_apic.c > @@ -3874,6 +3874,28 @@ void __init probe_nr_irqs_gsi(void) > printk(KERN_DEBUG "nr_irqs_gsi: %d\n", nr_irqs_gsi); > } > > +#ifdef CONFIG_SPARSE_IRQ > +int __init arch_probe_nr_irqs(void) > +{ > + int nr; > + > + if (nr_irqs > (NR_VECTORS * nr_cpu_ids)) > + nr_irqs = NR_VECTORS * nr_cpu_ids; > + > + nr = nr_irqs_gsi + 8 * nr_cpu_ids; > +#if defined(CONFIG_PCI_MSI) || defined(CONFIG_HT_IRQ) > + /* > + * for MSI and HT dyn irq > + */ > + nr += nr_irqs_gsi * 16; > +#endif > + if (nr < nr_irqs) > + nr_irqs = nr; > + > + return 0; > +} > +#endif > + > static int __io_apic_set_pci_routing(struct device *dev, int irq, > struct io_apic_irq_attr *irq_attr) > { for x86, with radix tree based irq_to_desc(), removing arch_probe_nr_irqs is intentional. so we get more irq that could be used. wonder if the udev for some of your test system have irq number limitation? YH -- To unsubscribe from this list: send the line "unsubscribe linux-tip-commits" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html
![]() |