[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <dbb07298-a474-f67c-dcd1-64fbf2aae91e@huawei.com>
Date: Tue, 18 Oct 2022 09:22:38 +0800
From: chenlifu <chenlifu@...wei.com>
To: <tglx@...utronix.de>, <linux-kernel@...r.kernel.org>
Subject: Re: [PATCH -next] genirq: Add SPARSE_NR_IRQS Kconfig option
在 2022/9/30 16:58, Chen Lifu 写道:
> On a large-scale multi-core and NUMA platform, more than 1024 cores and
> 16 NUMA nodes for example, even if SPASE_IRQ is selected to increase the
> number of interrupt numbers by 8196 base on NR_IRQS, the interrupt numbers
> requirement cannot be met. Therefore, make the number of sparse interrupt
> numbers configurable.
>
> Signed-off-by: Chen Lifu <chenlifu@...wei.com>
> ---
> kernel/irq/Kconfig | 8 ++++++++
> kernel/irq/internals.h | 2 +-
> 2 files changed, 9 insertions(+), 1 deletion(-)
>
> diff --git a/kernel/irq/Kconfig b/kernel/irq/Kconfig
> index db3d174c53d4..b517b820e329 100644
> --- a/kernel/irq/Kconfig
> +++ b/kernel/irq/Kconfig
> @@ -123,10 +123,18 @@ config SPARSE_IRQ
> ( Sparse irqs can also be beneficial on NUMA boxes, as they spread
> out the interrupt descriptors in a more NUMA-friendly way. )
>
> If you don't know what to do here, say N.
>
> +config SPARSE_NR_IRQS
> + int "Number of sparse interrupt numbers"
> + depends on SPARSE_IRQ
> + default 8196
> + help
> + This defines the maximum number of interrupt numbers
> + that can be dynamically expanded.
> +
> config GENERIC_IRQ_DEBUGFS
> bool "Expose irq internals in debugfs"
> depends on DEBUG_FS
> select GENERIC_IRQ_INJECTION
> default n
> diff --git a/kernel/irq/internals.h b/kernel/irq/internals.h
> index f09c60393e55..ab8ac93c60e6 100644
> --- a/kernel/irq/internals.h
> +++ b/kernel/irq/internals.h
> @@ -10,11 +10,11 @@
> #include <linux/kernel_stat.h>
> #include <linux/pm_runtime.h>
> #include <linux/sched/clock.h>
>
> #ifdef CONFIG_SPARSE_IRQ
> -# define IRQ_BITMAP_BITS (NR_IRQS + 8196)
> +# define IRQ_BITMAP_BITS (NR_IRQS + CONFIG_SPARSE_NR_IRQS)
> #else
> # define IRQ_BITMAP_BITS NR_IRQS
> #endif
>
> #define istate core_internal_state__do_not_mess_with_it
Friendly ping ...
Powered by blists - more mailing lists