arm64: Disable GENERIC_IRQ_EFFECTIVE_AFF_MASK

The effective affinity mask causes a lot of bugs by virtue of many
set_irq_affinity handlers only setting an effective affinity mask for an
IRQ's parent but not the IRQ itself. Since this is a widespread issue that
would require manual fixing on every different SoC, just disable the
effective affinity mask altogether and use the first CPU in an affinity
mask configured.

Signed-off-by: Sultan Alsawaf <sultan@kerneltoast.com>
This commit is contained in:
Sultan Alsawaf 2023-07-24 00:12:20 -07:00 committed by Ksawlii
parent 01b5714d66
commit d9e7f45cc4
2 changed files with 1 additions and 2 deletions

View file

@ -9,7 +9,6 @@ config ARM_GIC
bool
select IRQ_DOMAIN_HIERARCHY
select GENERIC_IRQ_MULTI_HANDLER
select GENERIC_IRQ_EFFECTIVE_AFF_MASK
config ARM_GIC_PM
bool
@ -36,7 +35,6 @@ config ARM_GIC_V3
select GENERIC_IRQ_MULTI_HANDLER
select IRQ_DOMAIN_HIERARCHY
select PARTITION_PERCPU
select GENERIC_IRQ_EFFECTIVE_AFF_MASK
config ARM_GIC_V3_ITS
bool

View file

@ -25,6 +25,7 @@ config GENERIC_IRQ_SHOW_LEVEL
# Supports effective affinity mask
config GENERIC_IRQ_EFFECTIVE_AFF_MASK
bool
depends on !ARM64
# Facility to allocate a hardware interrupt. This is legacy support
# and should not be used in new code. Use irq domains instead.