Skip to content
  • Dietmar Eggemann's avatar
    arm: fix a migrating irq bug when hotplug cpu · 1e4e873c
    Dietmar Eggemann authored
    Arm TC2 fails cpu hotplug stress test.
    
    This issue was tracked down to a missing copy of the new affinity
    cpumask for the vexpress-spc interrupt into struct
    irq_common_data.affinity when the interrupt is migrated in
    migrate_one_irq().
    
    Fix it by replacing the arm specific hotplug cpu migration with the
    generic irq code.
    
    This is the counterpart implementation to commit 217d453d
    
     ("arm64:
    fix a migrating irq bug when hotplug cpu").
    
    Tested with cpu hotplug stress test on Arm TC2 (multi_v7_defconfig plus
    CONFIG_ARM_BIG_LITTLE_CPUFREQ=y and CONFIG_ARM_VEXPRESS_SPC_CPUFREQ=y).
    The vexpress-spc interrupt (irq=22) on this board is affine to CPU0.
    Its affinity cpumask now changes correctly e.g. from 0 to 1-4 when
    CPU0 is hotplugged out.
    
    Suggested-by: default avatarMarc Zyngier <marc.zyngier@arm.com>
    Signed-off-by: default avatarDietmar Eggemann <dietmar.eggemann@arm.com>
    Acked-by: default avatarMarc Zyngier <marc.zyngier@arm.com>
    Reviewed-by: default avatarLinus Walleij <linus.walleij@linaro.org>
    1e4e873c