Re: [PATCH] x86_64: resize NR_IRQS for large machines (re-submit)

From: Alan Mayer
Date: Wed Mar 26 2008 - 17:40:37 EST


On Wed, 26 Mar 2008, Ingo Molnar wrote:

>
> * Alan Mayer <ajm@xxxxxxx> wrote:
>
> > On machines with very large numbers of cpus, tables that are
> > dimensioned by NR_IRQS get very large, especially the irq_desc table.
> > They are also very sparsely used. When the cpu count is >
> > MAX_IO_APICS, use MAX_IO_APICS to set NR_IRQS, otherwise use NR_CPUS.
>
> thanks Alan, applied this in place of the other patch.
>
> this bit is still ugly:
>
> > -#define NR_IRQS (NR_VECTORS + (32 *NR_CPUS))
> > +#if NR_CPUS < MAX_IO_APICS
> > +#define NR_IRQS (NR_VECTORS + (32 * NR_CPUS))
> > +#else
> > +#define NR_IRQS (NR_VECTORS + (32 * MAX_IO_APICS))
> > +#endif
> > #define NR_IRQ_VECTORS NR_IRQS
>
> but it doesnt really depart from the current status quo of huge
> [NR_IRQS] arrays either. Patches that make NR_IRQS a variable are
> welcome :)
>
> Ingo
>

Good luck with that. If i come up with something that's elegant enough
to make it worth the risk, I'll let you know. Changing NR_IRQS to a variable
touches every arch and a lot of drivers. Someone is bound to choke
on it, so it has to be something worth fighting for.

--ajm

Lately it occurs to me,
What a long, strange trip it's been.
--
Alan J. Mayer
SGI
ajm@xxxxxxx
WORK: 651-683-3131
HOME: 651-407-0134
--

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/