[PATCH 1/6] powerpc: Make NR_IRQS a CONFIG option

Grant Likely grant.likely at secretlab.ca
Thu Oct 15 05:59:51 EST 2009


On Tue, Oct 13, 2009 at 11:44 PM, Michael Ellerman
<michael at ellerman.id.au> wrote:
> The irq_desc array consumes quite a lot of space, and for systems
> that don't need or can't have 512 irqs it's just wasted space.
>
> The first 16 are reserved for ISA, so the minimum of 32 is really
> 16 - and no one has asked for more than 512 so leave that as the
> maximum.

Does it really make sense to have this as a user twiddlable value?
Especially when many users just don't have the background to know what
an appropriate value is here and will get it wrong?  I believe your
sparse IRQ patch has a bigger impact anyway on systems where memory is
tight.

g.

>
> Signed-off-by: Michael Ellerman <michael at ellerman.id.au>
> ---
>  arch/powerpc/Kconfig           |   10 ++++++++++
>  arch/powerpc/include/asm/irq.h |    4 ++--
>  2 files changed, 12 insertions(+), 2 deletions(-)
>
> diff --git a/arch/powerpc/Kconfig b/arch/powerpc/Kconfig
> index 10a0a54..2230e75 100644
> --- a/arch/powerpc/Kconfig
> +++ b/arch/powerpc/Kconfig
> @@ -56,6 +56,16 @@ config IRQ_PER_CPU
>        bool
>        default y
>
> +config NR_IRQS
> +       int "Number of virtual interrupt numbers"
> +       range 32 512
> +       default "512"
> +       help
> +         This defines the number of virtual interrupt numbers the kernel
> +         can manage. Virtual interrupt numbers are what you see in
> +         /proc/interrupts. If you configure your system to have too few,
> +         drivers will fail to load or worse - handle with care.
> +
>  config STACKTRACE_SUPPORT
>        bool
>        default y
> diff --git a/arch/powerpc/include/asm/irq.h b/arch/powerpc/include/asm/irq.h
> index bbcd1aa..b83fcc8 100644
> --- a/arch/powerpc/include/asm/irq.h
> +++ b/arch/powerpc/include/asm/irq.h
> @@ -34,8 +34,8 @@ extern atomic_t ppc_n_lost_interrupts;
>  */
>  #define NO_IRQ_IGNORE          ((unsigned int)-1)
>
> -/* Total number of virq in the platform (make it a CONFIG_* option ? */
> -#define NR_IRQS                512
> +/* Total number of virq in the platform */
> +#define NR_IRQS                CONFIG_NR_IRQS
>
>  /* Number of irqs reserved for the legacy controller */
>  #define NUM_ISA_INTERRUPTS     16
> --
> 1.6.2.1
>
> _______________________________________________
> Linuxppc-dev mailing list
> Linuxppc-dev at lists.ozlabs.org
> https://lists.ozlabs.org/listinfo/linuxppc-dev
>



-- 
Grant Likely, B.Sc., P.Eng.
Secret Lab Technologies Ltd.


More information about the Linuxppc-dev mailing list