lkml.org 
[lkml]   [2022]   [Sep]   [30]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
Patch in this message
/
From
Subject[PATCH -next] genirq: Add SPARSE_NR_IRQS Kconfig option
Date
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@huawei.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
--
2.37.1
\
 
 \ /
  Last update: 2022-09-30 11:03    [W:0.304 / U:0.056 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site