[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <ccef0ae5-d5b2-8f33-0372-4f0687738ecd@huawei.com>
Date: Mon, 31 Oct 2022 08:38:01 +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/10/18 9:22, chenlifu 写道:
> 在 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 ...
Friendly ping ...
Powered by blists - more mailing lists