* [PATCH v2 0/3] Cleanup MAY_HAVE_SPARSE_IRQ
@ 2021-09-29 2:35 Kefeng Wang
2021-09-29 2:35 ` [PATCH v1 1/3] sh: Cleanup about SPARSE_IRQ Kefeng Wang
` (4 more replies)
0 siblings, 5 replies; 7+ messages in thread
From: Kefeng Wang @ 2021-09-29 2:35 UTC (permalink / raw)
To: Thomas Gleixner, Guo Ren, Yoshinori Sato, Rich Felker, linux-sh,
linux-kernel, linux-csky
Cc: Kefeng Wang
Most ARCHs support SPARSE_IRQ, the dynamical and statical irq
description allocation are alternative.
The last user of MAY_HAVE_SPARSE_IRQ is sh/csky, but the sh use
SPARSE_IRQ, MAY_HAVE_SPARSE_IRQ could be kill. and for csky, it
uses statical allocation by default.
So MAY_HAVE_SPARSE_IRQ seems to be useless, no need to maintain a
separate MAY_HAVE_SPARSE_IRQ config, kill it.
Also cleanup the kernel/irq/Kconfig a little.
v2:
- drop all the NR_IRQS suggested by Geert
- don' use SPARSE_IRQ for csky by default, suggested by Guo.
Kefeng Wang (3):
sh: Cleanup about SPARSE_IRQ
csky: Kill MAY_HAVE_SPARSE_IRQ
genirq: Cleanup Kconfig
arch/csky/Kconfig | 1 -
arch/sh/Kconfig | 1 -
arch/sh/include/asm/irq.h | 11 ---------
kernel/irq/Kconfig | 50 ++++++++++++++++-----------------------
4 files changed, 20 insertions(+), 43 deletions(-)
--
2.26.2
^ permalink raw reply [flat|nested] 7+ messages in thread
* [PATCH v1 1/3] sh: Cleanup about SPARSE_IRQ
2021-09-29 2:35 [PATCH v2 0/3] Cleanup MAY_HAVE_SPARSE_IRQ Kefeng Wang
@ 2021-09-29 2:35 ` Kefeng Wang
2021-09-29 2:35 ` [PATCH v2 2/3] csky: Kill MAY_HAVE_SPARSE_IRQ Kefeng Wang
` (3 subsequent siblings)
4 siblings, 0 replies; 7+ messages in thread
From: Kefeng Wang @ 2021-09-29 2:35 UTC (permalink / raw)
To: Thomas Gleixner, Guo Ren, Yoshinori Sato, Rich Felker, linux-sh,
linux-kernel, linux-csky
Cc: Kefeng Wang, Geert Uytterhoeven
After commit 37744feebc08 ("sh: remove sh5 support"), sh always
enable SPARSE_IRQ, kill unused MAY_HAVE_SPARSE_IRQ and NR_IRQS
define.
Cc: Yoshinori Sato <ysato@users.sourceforge.jp>
Cc: Rich Felker <dalias@libc.org>
Reviewed-by: Geert Uytterhoeven <geert+renesas@glider.be>
Signed-off-by: Kefeng Wang <wangkefeng.wang@huawei.com>
---
arch/sh/Kconfig | 1 -
arch/sh/include/asm/irq.h | 11 -----------
2 files changed, 12 deletions(-)
diff --git a/arch/sh/Kconfig b/arch/sh/Kconfig
index 6904f4bdbf00..70afb30e0b32 100644
--- a/arch/sh/Kconfig
+++ b/arch/sh/Kconfig
@@ -56,7 +56,6 @@ config SUPERH
select HAVE_STACKPROTECTOR
select HAVE_SYSCALL_TRACEPOINTS
select IRQ_FORCED_THREADING
- select MAY_HAVE_SPARSE_IRQ
select MODULES_USE_ELF_RELA
select NEED_SG_DMA_LENGTH
select NO_DMA if !MMU && !DMA_COHERENT
diff --git a/arch/sh/include/asm/irq.h b/arch/sh/include/asm/irq.h
index 839551ce398c..1c4923502fd4 100644
--- a/arch/sh/include/asm/irq.h
+++ b/arch/sh/include/asm/irq.h
@@ -5,17 +5,6 @@
#include <linux/cpumask.h>
#include <asm/machvec.h>
-/*
- * Only legacy non-sparseirq platforms have to set a reasonably sane
- * value here. sparseirq platforms allocate their irq_descs on the fly,
- * so will expand automatically based on the number of registered IRQs.
- */
-#ifdef CONFIG_SPARSE_IRQ
-# define NR_IRQS 8
-#else
-# define NR_IRQS 512
-#endif
-
/*
* This is a special IRQ number for indicating that no IRQ has been
* triggered and to simply ignore the IRQ dispatch. This is a special
--
2.26.2
^ permalink raw reply related [flat|nested] 7+ messages in thread
* [PATCH v2 2/3] csky: Kill MAY_HAVE_SPARSE_IRQ
2021-09-29 2:35 [PATCH v2 0/3] Cleanup MAY_HAVE_SPARSE_IRQ Kefeng Wang
2021-09-29 2:35 ` [PATCH v1 1/3] sh: Cleanup about SPARSE_IRQ Kefeng Wang
@ 2021-09-29 2:35 ` Kefeng Wang
2021-09-29 2:35 ` [PATCH v3 3/3] genirq: Cleanup Kconfig Kefeng Wang
` (2 subsequent siblings)
4 siblings, 0 replies; 7+ messages in thread
From: Kefeng Wang @ 2021-09-29 2:35 UTC (permalink / raw)
To: Thomas Gleixner, Guo Ren, Yoshinori Sato, Rich Felker, linux-sh,
linux-kernel, linux-csky
Cc: Kefeng Wang
The csky platforms use statical irq descriptors allocation
by default, and the dynamical and statical irq allocation
are alternative, it is no need to maintain a separate
MAY_HAVE_SPARSE_IRQ, kill it.
Cc: Guo Ren <guoren@kernel.org>
Signed-off-by: Kefeng Wang <wangkefeng.wang@huawei.com>
---
arch/csky/Kconfig | 1 -
1 file changed, 1 deletion(-)
diff --git a/arch/csky/Kconfig b/arch/csky/Kconfig
index 9d4d898df76b..45ac662bd011 100644
--- a/arch/csky/Kconfig
+++ b/arch/csky/Kconfig
@@ -69,7 +69,6 @@ config CSKY
select HAVE_RSEQ
select HAVE_STACKPROTECTOR
select HAVE_SYSCALL_TRACEPOINTS
- select MAY_HAVE_SPARSE_IRQ
select MODULES_USE_ELF_RELA if MODULES
select OF
select OF_EARLY_FLATTREE
--
2.26.2
^ permalink raw reply related [flat|nested] 7+ messages in thread
* [PATCH v3 3/3] genirq: Cleanup Kconfig
2021-09-29 2:35 [PATCH v2 0/3] Cleanup MAY_HAVE_SPARSE_IRQ Kefeng Wang
2021-09-29 2:35 ` [PATCH v1 1/3] sh: Cleanup about SPARSE_IRQ Kefeng Wang
2021-09-29 2:35 ` [PATCH v2 2/3] csky: Kill MAY_HAVE_SPARSE_IRQ Kefeng Wang
@ 2021-09-29 2:35 ` Kefeng Wang
2021-09-29 7:21 ` [PATCH v2 0/3] Cleanup MAY_HAVE_SPARSE_IRQ Geert Uytterhoeven
2021-10-19 12:30 ` Kefeng Wang
4 siblings, 0 replies; 7+ messages in thread
From: Kefeng Wang @ 2021-09-29 2:35 UTC (permalink / raw)
To: Thomas Gleixner, Guo Ren, Yoshinori Sato, Rich Felker, linux-sh,
linux-kernel, linux-csky
Cc: Kefeng Wang
As the last user of MAY_HAVE_SPARSE_IRQ is gone, kill it, and clean
up the SPARSE_IRQ description, covert the help text into comment.
Also move GENERIC_IRQ_MULTI_HANDLER into menu, and change all spaces
to tabs to fix alignment issue.
Cc: Thomas Gleixner <tglx@linutronix.de>
Signed-off-by: Kefeng Wang <wangkefeng.wang@huawei.com>
---
kernel/irq/Kconfig | 50 +++++++++++++++++++---------------------------
1 file changed, 20 insertions(+), 30 deletions(-)
diff --git a/kernel/irq/Kconfig b/kernel/irq/Kconfig
index fbc54c2a7f23..aa7d0e3edea6 100644
--- a/kernel/irq/Kconfig
+++ b/kernel/irq/Kconfig
@@ -2,13 +2,9 @@
menu "IRQ subsystem"
# Options selectable by the architecture code
-# Make sparse irq Kconfig switch below available
-config MAY_HAVE_SPARSE_IRQ
- bool
-
# Legacy support, required for itanic
config GENERIC_IRQ_LEGACY
- bool
+ bool
# Enable the generic irq autoprobe mechanism
config GENERIC_IRQ_PROBE
@@ -16,15 +12,15 @@ config GENERIC_IRQ_PROBE
# Use the generic /proc/interrupts implementation
config GENERIC_IRQ_SHOW
- bool
+ bool
# Print level/edge extra information
config GENERIC_IRQ_SHOW_LEVEL
- bool
+ bool
# Supports effective affinity mask
config GENERIC_IRQ_EFFECTIVE_AFF_MASK
- bool
+ bool
# Support for delayed migration from interrupt context
config GENERIC_PENDING_IRQ
@@ -36,7 +32,7 @@ config GENERIC_IRQ_MIGRATION
# Alpha specific irq affinity mechanism
config AUTO_IRQ_AFFINITY
- bool
+ bool
# Interrupt injection mechanism
config GENERIC_IRQ_INJECTION
@@ -44,16 +40,16 @@ config GENERIC_IRQ_INJECTION
# Tasklet based software resend for pending interrupts on enable_irq()
config HARDIRQS_SW_RESEND
- bool
+ bool
# Edge style eoi based handler (cell)
config IRQ_EDGE_EOI_HANDLER
- bool
+ bool
# Generic configurable interrupt chip implementation
config GENERIC_IRQ_CHIP
- bool
- select IRQ_DOMAIN
+ bool
+ select IRQ_DOMAIN
# Generic irq_domain hw <--> linux irq number translation
config IRQ_DOMAIN
@@ -103,6 +99,10 @@ config HANDLE_DOMAIN_IRQ
config IRQ_TIMINGS
bool
+# Allow to specify the low level IRQ handler at run time.
+config GENERIC_IRQ_MULTI_HANDLER
+ bool
+
config GENERIC_IRQ_MATRIX_ALLOCATOR
bool
@@ -111,20 +111,15 @@ config GENERIC_IRQ_RESERVATION_MODE
# Support forced irq threading
config IRQ_FORCED_THREADING
- bool
+ bool
+# Sparse irq numbering is useful for distro kernels that want
+# to define a high CONFIG_NR_CPUS value but still want to have
+# low kernel memory footprint on smaller machines.
+# Sparse irqs can also be beneficial on NUMA boxes, as they spread
+# out the interrupt descriptors in a more NUMA-friendly way.
config SPARSE_IRQ
- bool "Support sparse irq numbering" if MAY_HAVE_SPARSE_IRQ
- help
-
- Sparse irq numbering is useful for distro kernels that want
- to define a high CONFIG_NR_CPUS value but still want to have
- low kernel memory footprint on smaller machines.
-
- ( 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.
+ bool
config GENERIC_IRQ_DEBUGFS
bool "Expose irq internals in debugfs"
@@ -139,8 +134,3 @@ config GENERIC_IRQ_DEBUGFS
If you don't know what to do here, say N.
endmenu
-
-config GENERIC_IRQ_MULTI_HANDLER
- bool
- help
- Allow to specify the low level IRQ handler at run time.
--
2.26.2
^ permalink raw reply related [flat|nested] 7+ messages in thread
* Re: [PATCH v2 0/3] Cleanup MAY_HAVE_SPARSE_IRQ
2021-09-29 2:35 [PATCH v2 0/3] Cleanup MAY_HAVE_SPARSE_IRQ Kefeng Wang
` (2 preceding siblings ...)
2021-09-29 2:35 ` [PATCH v3 3/3] genirq: Cleanup Kconfig Kefeng Wang
@ 2021-09-29 7:21 ` Geert Uytterhoeven
2021-09-29 8:12 ` Kefeng Wang
2021-10-19 12:30 ` Kefeng Wang
4 siblings, 1 reply; 7+ messages in thread
From: Geert Uytterhoeven @ 2021-09-29 7:21 UTC (permalink / raw)
To: Kefeng Wang
Cc: Thomas Gleixner, Guo Ren, Yoshinori Sato, Rich Felker,
Linux-sh list, Linux Kernel Mailing List, linux-csky
Hi Kefeng,
On Wed, Sep 29, 2021 at 4:35 AM Kefeng Wang <wangkefeng.wang@huawei.com> wrote:
> Most ARCHs support SPARSE_IRQ, the dynamical and statical irq
> description allocation are alternative.
>
> The last user of MAY_HAVE_SPARSE_IRQ is sh/csky, but the sh use
> SPARSE_IRQ, MAY_HAVE_SPARSE_IRQ could be kill. and for csky, it
> uses statical allocation by default.
>
> So MAY_HAVE_SPARSE_IRQ seems to be useless, no need to maintain a
> separate MAY_HAVE_SPARSE_IRQ config, kill it.
>
> Also cleanup the kernel/irq/Kconfig a little.
>
> v2:
> - drop all the NR_IRQS suggested by Geert
> - don' use SPARSE_IRQ for csky by default, suggested by Guo.
>
> Kefeng Wang (3):
> sh: Cleanup about SPARSE_IRQ
> csky: Kill MAY_HAVE_SPARSE_IRQ
> genirq: Cleanup Kconfig
Thanks for the update!
Tested on SH on landisk (real) and rts7751r2d (qemu), so
Tested-by: Geert Uytterhoeven <geert+renesas@glider.be>
P.S. Please use the same version number in all patches of the series,
to avoid confusing tools like b4.
https://lore.kernel.org/all/20210929023522.57732-1-wangkefeng.wang@huawei.com/
2021-09-29 2:35 ` [PATCH v1 1/3] sh: Cleanup about SPARSE_IRQ Kefeng Wang
2021-09-29 2:35 ` [PATCH v2 2/3] csky: Kill MAY_HAVE_SPARSE_IRQ Kefeng Wang
2021-09-29 2:35 ` [PATCH v3 3/3] genirq: Cleanup Kconfig Kefeng Wang
^^
Gr{oetje,eeting}s,
Geert
--
Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@linux-m68k.org
In personal conversations with technical people, I call myself a hacker. But
when I'm talking to journalists I just say "programmer" or something like that.
-- Linus Torvalds
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [PATCH v2 0/3] Cleanup MAY_HAVE_SPARSE_IRQ
2021-09-29 7:21 ` [PATCH v2 0/3] Cleanup MAY_HAVE_SPARSE_IRQ Geert Uytterhoeven
@ 2021-09-29 8:12 ` Kefeng Wang
0 siblings, 0 replies; 7+ messages in thread
From: Kefeng Wang @ 2021-09-29 8:12 UTC (permalink / raw)
To: Geert Uytterhoeven
Cc: Thomas Gleixner, Guo Ren, Yoshinori Sato, Rich Felker,
Linux-sh list, Linux Kernel Mailing List, linux-csky
On 2021/9/29 15:21, Geert Uytterhoeven wrote:
> Hi Kefeng,
>
> On Wed, Sep 29, 2021 at 4:35 AM Kefeng Wang <wangkefeng.wang@huawei.com> wrote:
>> Most ARCHs support SPARSE_IRQ, the dynamical and statical irq
>> description allocation are alternative.
>>
>> The last user of MAY_HAVE_SPARSE_IRQ is sh/csky, but the sh use
>> SPARSE_IRQ, MAY_HAVE_SPARSE_IRQ could be kill. and for csky, it
>> uses statical allocation by default.
>>
>> So MAY_HAVE_SPARSE_IRQ seems to be useless, no need to maintain a
>> separate MAY_HAVE_SPARSE_IRQ config, kill it.
>>
>> Also cleanup the kernel/irq/Kconfig a little.
>>
>> v2:
>> - drop all the NR_IRQS suggested by Geert
>> - don' use SPARSE_IRQ for csky by default, suggested by Guo.
>>
>> Kefeng Wang (3):
>> sh: Cleanup about SPARSE_IRQ
>> csky: Kill MAY_HAVE_SPARSE_IRQ
>> genirq: Cleanup Kconfig
>
> Thanks for the update!
>
> Tested on SH on landisk (real) and rts7751r2d (qemu), so
> Tested-by: Geert Uytterhoeven <geert+renesas@glider.be>
Thanks for your test.
>
> P.S. Please use the same version number in all patches of the series,
> to avoid confusing tools like b4.
>
> https://lore.kernel.org/all/20210929023522.57732-1-wangkefeng.wang@huawei.com/
> 2021-09-29 2:35 ` [PATCH v1 1/3] sh: Cleanup about SPARSE_IRQ Kefeng Wang
> 2021-09-29 2:35 ` [PATCH v2 2/3] csky: Kill MAY_HAVE_SPARSE_IRQ Kefeng Wang
> 2021-09-29 2:35 ` [PATCH v3 3/3] genirq: Cleanup Kconfig Kefeng Wang
> ^^
>
Strange, maybe some unexpected change in my local dir... sorry for the
confusing.
> Gr{oetje,eeting}s,
>
> Geert
>
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [PATCH v2 0/3] Cleanup MAY_HAVE_SPARSE_IRQ
2021-09-29 2:35 [PATCH v2 0/3] Cleanup MAY_HAVE_SPARSE_IRQ Kefeng Wang
` (3 preceding siblings ...)
2021-09-29 7:21 ` [PATCH v2 0/3] Cleanup MAY_HAVE_SPARSE_IRQ Geert Uytterhoeven
@ 2021-10-19 12:30 ` Kefeng Wang
4 siblings, 0 replies; 7+ messages in thread
From: Kefeng Wang @ 2021-10-19 12:30 UTC (permalink / raw)
To: Thomas Gleixner, Guo Ren, Yoshinori Sato, linux-sh, linux-kernel,
linux-csky
Hi Thomas, Could you pickup this cleanup patchset from your tree if
possible, thanks.
On 2021/9/29 10:35, Kefeng Wang wrote:
> Most ARCHs support SPARSE_IRQ, the dynamical and statical irq
> description allocation are alternative.
>
> The last user of MAY_HAVE_SPARSE_IRQ is sh/csky, but the sh use
> SPARSE_IRQ, MAY_HAVE_SPARSE_IRQ could be kill. and for csky, it
> uses statical allocation by default.
>
> So MAY_HAVE_SPARSE_IRQ seems to be useless, no need to maintain a
> separate MAY_HAVE_SPARSE_IRQ config, kill it.
>
> Also cleanup the kernel/irq/Kconfig a little.
>
> v2:
> - drop all the NR_IRQS suggested by Geert
> - don' use SPARSE_IRQ for csky by default, suggested by Guo.
>
> Kefeng Wang (3):
> sh: Cleanup about SPARSE_IRQ
> csky: Kill MAY_HAVE_SPARSE_IRQ
> genirq: Cleanup Kconfig
>
> arch/csky/Kconfig | 1 -
> arch/sh/Kconfig | 1 -
> arch/sh/include/asm/irq.h | 11 ---------
> kernel/irq/Kconfig | 50 ++++++++++++++++-----------------------
> 4 files changed, 20 insertions(+), 43 deletions(-)
>
^ permalink raw reply [flat|nested] 7+ messages in thread
end of thread, other threads:[~2021-10-19 12:30 UTC | newest]
Thread overview: 7+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-09-29 2:35 [PATCH v2 0/3] Cleanup MAY_HAVE_SPARSE_IRQ Kefeng Wang
2021-09-29 2:35 ` [PATCH v1 1/3] sh: Cleanup about SPARSE_IRQ Kefeng Wang
2021-09-29 2:35 ` [PATCH v2 2/3] csky: Kill MAY_HAVE_SPARSE_IRQ Kefeng Wang
2021-09-29 2:35 ` [PATCH v3 3/3] genirq: Cleanup Kconfig Kefeng Wang
2021-09-29 7:21 ` [PATCH v2 0/3] Cleanup MAY_HAVE_SPARSE_IRQ Geert Uytterhoeven
2021-09-29 8:12 ` Kefeng Wang
2021-10-19 12:30 ` Kefeng Wang
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).