Skip to contentSkip to conversation

5.10-rc0: build error in ipi.c

DISCUSSION Applied Pavel Machek 4 participants 10 messages Oct 15, 2020 – Nov 1, 2020

Subsystems (2)
lore
Share & tools
lore
#0 lore raw

Hi!

I'm getting build problems in 5.10-rc0 in config for n900. ARM board.

CONFIG_SMP=y
CONFIG_SMP_ON_UP=y

CC net/devres.o
kernel/irq/ipi.c: In function ‘irq_reserve_ipi’:
kernel/irq/ipi.c:84:9: error: implicit declaration of function ‘__irq_domain_alloc_irqs’; did you mean ‘irq_domain_alloc_irqs’? [-Werror=implicit-function-declaration]
virq = __irq_domain_alloc_irqs(domain, virq, nr_irqs,
NUMA_NO_NODE,

           ^~~~~~~~~~~~~~~~~~~~~~~
	            irq_domain_alloc_irqs
		    cc1: some warnings being treated as errors
		    make[2]: *** [scripts/Makefile.build:283:

kernel/irq/ipi.o] Error 1
make[1]: *** [scripts/Makefile.build:500: kernel/irq] Error 2
make: *** [Makefile:1775: kernel] Error 2
make: *** Waiting for unfinished jobs....
CC net/socket.o

Best regards,
Pavel

Signature · 1 line
http://www.livejournal.com/~pavelmachek
#1 lore raw

On Thu, Oct 15 2020 at 12:12, Pavel Machek wrote:

Cc+ Marc

Quoted 13 lines

I'm getting build problems in 5.10-rc0 in config for n900. ARM board.

CONFIG_SMP=y
CONFIG_SMP_ON_UP=y

CC net/devres.o
kernel/irq/ipi.c: In function ‘irq_reserve_ipi’:
kernel/irq/ipi.c:84:9: error: implicit declaration of function ‘__irq_domain_alloc_irqs’; did you mean ‘irq_domain_alloc_irqs’? [-Werror=implicit-function-declaration]
virq = __irq_domain_alloc_irqs(domain, virq, nr_irqs,
NUMA_NO_NODE,

Quoted 5 lines
           ^~~~~~~~~~~~~~~~~~~~~~~
	            irq_domain_alloc_irqs
		    cc1: some warnings being treated as errors
		    make[2]: *** [scripts/Makefile.build:283:

kernel/irq/ipi.o] Error 1

That probably comes from the ipi as irq rework for arm/arm64.

Thanks,

tglx

#2 lore raw
Quoted 3 lines · Thomas Gleixner

On Thu, Oct 15 2020 at 12:12, Pavel Machek wrote:

Cc+ Marc

Thanks Thomas.

Quoted 5 lines
Quoted 5 lines

I'm getting build problems in 5.10-rc0 in config for n900. ARM board.

CONFIG_SMP=y
CONFIG_SMP_ON_UP=y

On its own, this doesn't break anything with multi_v7_defconfig.

Quoted 15 lines
Quoted 9 lines

CC net/devres.o
kernel/irq/ipi.c: In function ‘irq_reserve_ipi’:
kernel/irq/ipi.c:84:9: error: implicit declaration of function ‘__irq_domain_alloc_irqs’; did you mean ‘irq_domain_alloc_irqs’? [-Werror=implicit-function-declaration]
virq = __irq_domain_alloc_irqs(domain, virq, nr_irqs,
NUMA_NO_NODE,

Quoted 5 lines
           ^~~~~~~~~~~~~~~~~~~~~~~
	            irq_domain_alloc_irqs
		    cc1: some warnings being treated as errors
		    make[2]: *** [scripts/Makefile.build:283:

kernel/irq/ipi.o] Error 1

Quoted 1 line

That probably comes from the ipi as irq rework for arm/arm64.

Most probably.

Pawel, can you please stash your config somewhere where I can get it?

Thanks,

        M.
Signature · 1 line
Jazz is not dead. It just smells funny...
#3 lore raw

Hi!

Quoted 6 lines
Quoted 4 lines
Quoted 4 lines

I'm getting build problems in 5.10-rc0 in config for n900. ARM board.

CONFIG_SMP=y
CONFIG_SMP_ON_UP=y

On its own, this doesn't break anything with multi_v7_defconfig.

I sent config off-list. Let me know if it does not arrive or if you need more info.

Best regards,
Pavel

Signature · 1 line
http://www.livejournal.com/~pavelmachek
#4 lore raw
Quoted 11 lines · Pavel Machek

Hi!

Quoted 6 lines
Quoted 4 lines
Quoted 4 lines

I'm getting build problems in 5.10-rc0 in config for n900. ARM board.

CONFIG_SMP=y
CONFIG_SMP_ON_UP=y

On its own, this doesn't break anything with multi_v7_defconfig.

I sent config off-list. Let me know if it does not arrive or if you need more info.

Try this for size:

kernel/irq/Kconfig +1 -0
index 10a5aff4eecc..db923e0da162 100644
@@ -81,6 +81,7 @@ config IRQ_FASTEOI_HIERARCHY_HANDLERS
 
 # Generic IRQ IPI support
 config GENERIC_IRQ_IPI
+	select IRQ_DOMAIN_HIERARCHY
 	bool
 
 # Generic MSI interrupt support
        N,
Signature · 1 line
Jazz is not dead. It just smells funny...
author Tested-by
#5 lore raw
Quoted 21 lines · Marc Zyngier
Quoted 11 lines · Pavel Machek

Hi!

Quoted 6 lines
Quoted 4 lines
Quoted 4 lines

I'm getting build problems in 5.10-rc0 in config for n900. ARM board.

CONFIG_SMP=y
CONFIG_SMP_ON_UP=y

On its own, this doesn't break anything with multi_v7_defconfig.

I sent config off-list. Let me know if it does not arrive or if you need more info.

Try this for size:

kernel/irq/Kconfig +0 -0
index 10a5aff4eecc..db923e0da162 100644

kernel/irq/Kconfig config IRQ_FASTEOI_HIERARCHY_HANDLERS · line 87

Quoted 7 lines
kernel/irq/Kconfig +1 -0
@@ -81,6 +81,7 @@ config IRQ_FASTEOI_HIERARCHY_HANDLERS
 
 # Generic IRQ IPI support
 config GENERIC_IRQ_IPI
+	select IRQ_DOMAIN_HIERARCHY
 	bool
 
 # Generic MSI interrupt support

My OCD prevents me from doing that! :-)...

select needs to be moved line below, for consistency. And yes, this fixes it for me.

Pavel

Signature · 1 line
http://www.livejournal.com/~pavelmachek
#6 lore raw
In reply to Marc Zyngier

kernel/irq/Kconfig config IRQ_FASTEOI_HIERARCHY_HANDLERS · line 85

Quoted 11 lines · Marc Zyngier

On 2020-10-15 18:18, Pavel Machek wrote:

kernel/irq/Kconfig +1 -0
index 10a5aff4eecc..db923e0da162 100644
@@ -81,6 +81,7 @@ config IRQ_FASTEOI_HIERARCHY_HANDLERS
 
  # Generic IRQ IPI support
  config GENERIC_IRQ_IPI
+	select IRQ_DOMAIN_HIERARCHY
  	bool

which makes some of the MIPS GENERIC_IRQ_IPI/IRQ_DOMAIN_HIERARCHY Kconfig magic in drivers/irqchip/Kconfig obsolete.

Thanks,

tglx

#7 lore raw
Quoted 8 lines · Thomas Gleixner
Quoted 7 lines · Marc Zyngier

On 2020-10-15 18:18, Pavel Machek wrote:

kernel/irq/Kconfig +0 -0
index 10a5aff4eecc..db923e0da162 100644
@@ -81,6 +81,7 @@ config IRQ_FASTEOI_HIERARCHY_HANDLERS
 
Quoted 7 lines

kernel/irq/Kconfig config IRQ_FASTEOI_HIERARCHY_HANDLERS · line 85

Quoted 4 lines
kernel/irq/Kconfig +1 -0
  # Generic IRQ IPI support
  config GENERIC_IRQ_IPI
+	select IRQ_DOMAIN_HIERARCHY
  	bool

which makes some of the MIPS GENERIC_IRQ_IPI/IRQ_DOMAIN_HIERARCHY Kconfig magic in drivers/irqchip/Kconfig obsolete.

Good point. I'll queue this on top:

drivers/irqchip/Kconfig +0 -1
index cd734df57c42..d2a651372e15 100644
@@ -180,7 +180,6 @@ config IRQ_MIPS_CPU
 	select GENERIC_IRQ_CHIP
 	select GENERIC_IRQ_IPI if SYS_SUPPORTS_MULTITHREADING
 	select IRQ_DOMAIN
-	select IRQ_DOMAIN_HIERARCHY if GENERIC_IRQ_IPI
 	select GENERIC_IRQ_EFFECTIVE_AFF_MASK
 
 config CLPS711X_IRQCHIP

Thanks,

        M.
Signature · 1 line
Jazz is not dead. It just smells funny...
#8 lore raw
Quoted 24 lines · Marc Zyngier
Quoted 8 lines · Thomas Gleixner
Quoted 7 lines · Marc Zyngier

On 2020-10-15 18:18, Pavel Machek wrote:

kernel/irq/Kconfig +0 -0
index 10a5aff4eecc..db923e0da162 100644
@@ -81,6 +81,7 @@ config IRQ_FASTEOI_HIERARCHY_HANDLERS
 
Quoted 7 lines

kernel/irq/Kconfig config IRQ_FASTEOI_HIERARCHY_HANDLERS · line 85

Quoted 4 lines
kernel/irq/Kconfig +1 -0
  # Generic IRQ IPI support
  config GENERIC_IRQ_IPI
+	select IRQ_DOMAIN_HIERARCHY
  	bool

which makes some of the MIPS GENERIC_IRQ_IPI/IRQ_DOMAIN_HIERARCHY Kconfig magic in drivers/irqchip/Kconfig obsolete.

Good point. I'll queue this on top:

drivers/irqchip/Kconfig +0 -0
index cd734df57c42..d2a651372e15 100644

drivers/irqchip/Kconfig config IRQ_MIPS_CPU · line 185

Quoted 7 lines
drivers/irqchip/Kconfig +0 -1
@@ -180,7 +180,6 @@ config IRQ_MIPS_CPU
  	select GENERIC_IRQ_CHIP
  	select GENERIC_IRQ_IPI if SYS_SUPPORTS_MULTITHREADING
  	select IRQ_DOMAIN
-	select IRQ_DOMAIN_HIERARCHY if GENERIC_IRQ_IPI
  	select GENERIC_IRQ_EFFECTIVE_AFF_MASK
 
  config CLPS711X_IRQCHIP

There's another one for MIPS_GIC :)

merge bot Applied
#9 lore raw

[tip: irq/urgent] genirq: Let GENERIC_IRQ_IPI select IRQ_DOMAIN_HIERARCHY

In reply to Pavel Machek
The following commit has been merged into the irq/urgent branch of tip:

The following commit has been merged into the irq/urgent branch of tip:

Commit-ID:     151a535171be6ff824a0a3875553ea38570f4c05
Gitweb:        https://git.kernel.org/tip/151a535171be6ff824a0a3875553ea38570f4c05
Author:        Marc Zyngier <[email protected]>
AuthorDate:    Thu, 15 Oct 2020 21:41:44 +01:00
Committer:     Marc Zyngier <[email protected]>
CommitterDate: Thu, 15 Oct 2020 21:41:44 +01:00

genirq: Let GENERIC_IRQ_IPI select IRQ_DOMAIN_HIERARCHY

kernel/irq/ipi.c otherwise fails to compile if nothing else selects it.

Fixes 379b656446a3 ("genirq: Add GENERIC_IRQ_IPI Kconfig symbol")
---
 kernel/irq/Kconfig | 1 +
 1 file changed, 1 insertion(+)
kernel/irq/Kconfig +1 -0
index 10a5aff..164a031 100644
@@ -82,6 +82,7 @@ config IRQ_FASTEOI_HIERARCHY_HANDLERS
 # Generic IRQ IPI support
 config GENERIC_IRQ_IPI
 	bool
+	select IRQ_DOMAIN_HIERARCHY
 
 # Generic MSI interrupt support
 config GENERIC_MSI_IRQ