linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [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).