Re: [PATCH 3/4] irq: initialize nr_irqs based on nr_cpu_ids

From: Ingo Molnar
Date: Sat Jan 10 2009 - 17:50:40 EST



* Mike Travis <travis@xxxxxxx> wrote:

> Impact: Reduce memory usage.
>
> This is the second half of the changes to make the irq_desc_ptrs be
> variable sized based on nr_cpu_ids. The algorithm is the same as the
> setting of NR_IRQS except use nr_cpu_ids instead of NR_CPUS. This is
> only when CONFIG_SPARSE_IRQS=y.
>
> Signed-off-by: Mike Travis <travis@xxxxxxx>
> ---
> kernel/irq/handle.c | 5 +++++
> 1 file changed, 5 insertions(+)
>
> Files linux-2.6-for-ingo.orig/kernel/irq/.handle.c.swp and linux-2.6-for-ingo/kernel/irq/.handle.c.swp differ
> --- linux-2.6-for-ingo.orig/kernel/irq/handle.c
> +++ linux-2.6-for-ingo/kernel/irq/handle.c
> @@ -133,6 +133,11 @@ int __init early_irq_init(void)
> int legacy_count;
> int i;
>
> + /* initialize nr_irqs based on nr_cpu_ids */
> + nr_irqs = (8 * nr_cpu_ids) > (32 * MAX_IO_APICS) ?
> + NR_VECTORS + (8 * nr_cpu_ids) :
> + NR_VECTORS + (32 * MAX_IO_APICS);
> +

this will break non-x86. Please move this to the x86 early-irq-init
function instead, and also sync it up with the current NR_IRQS sizing
macro.

I.e. do not duplicate the numbers but introduce some sort of
max_nr_irqs(nr_cpus) define that is used to initialize NR_IRQS and also
used later on to narrow down nr_irqs later on.

Ingo
--
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/