Messages in this thread | | | From | James Cleverdon <> | Subject | Re: [PATCH] 2.6.1-mm2: Get irq_vector size right for generic subarch UP installer kernels | Date | Wed, 14 Jan 2004 11:59:03 -0800 |
| |
On Tuesday 13 January 2004 5:00 pm, Zwane Mwaikambo wrote: > On Tue, 13 Jan 2004, James Cleverdon wrote: > > Problem: Earlier I didn't consider the case of the generic sub-arch and > > uni-proc installer kernels used by a number of distros. It currently is > > scaled by NR_CPUS. The correct values should be big for summit and > > generic, and can stay the same for all others. > > This all looks strange, especially in assign_irq_vector() does this > mean that you'll try and allocate up to 1024 vectors?
The irq_vector array name is a bit misleading. It contains the vectors for each potential I/O APIC RTE. The array needs to be at least the sum of all the RTEs in the system. Summit PCI bridge chips have large I/O APICs (50 RTEs), and a large system has up to 16 of them. 16*50 = 800. Allocating 1k entries provides a pad for the future, and u8 doesn't cost much.
> > diff -pru 2.6.1-mm2/include/asm-i386/mach-default/irq_vectors.h > > t1mm2/include/asm-i386/mach-default/irq_vectors.h > > --- 2.6.1-mm2/include/asm-i386/mach-default/irq_vectors.h 2004-01-08 > > 22:59:19.000000000 -0800 > > +++ t1mm2/include/asm-i386/mach-default/irq_vectors.h 2004-01-13 > > 13:43:56.000000000 -0800 > > @@ -90,8 +90,12 @@ > > #else > > #ifdef CONFIG_X86_IO_APIC > > #define NR_IRQS 224 > > -# if (224 >= 32 * NR_CPUS) > > -# define NR_IRQ_VECTORS NR_IRQS > > +/* > > + * For Summit or generic (i.e. installer) kernels, we have lots of I/O > > APICs, + * even with uni-proc kernels, so use a big array. > > + */ > > +# if defined(CONFIG_X86_SUMMIT) || defined(CONFIG_X86_GENERICARCH) > > +# define NR_IRQ_VECTORS 1024 > > # else > > # define NR_IRQ_VECTORS (32 * NR_CPUS) > > # endif
-- James Cleverdon IBM xSeries Linux Solutions {jamesclv(Unix, preferred), cleverdj(Notes)} at us dot ibm dot comm - 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/
| |