Messages in this thread Patch in this message | | | Date | Tue, 13 Jan 2004 20:00:10 -0500 (EST) | From | Zwane Mwaikambo <> | Subject | Re: [PATCH] 2.6.1-mm2: Get irq_vector size right for generic subarch UP installer kernels |
| |
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?
> 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 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 | |