• P
    irqchip: mips-gic: Use num_possible_cpus() to reserve IPIs · 25c51dad
    Paul Burton 提交于
    Reserving a number of IPIs based upon the number of VPs reported by the
    GIC makes little sense for a few reasons:
    
     - The kernel may have been configured with NR_CPUS less than the number
       of VPs in the cluster, in which case using gic_vpes causes us to
       reserve more interrupts for IPIs than we will possibly use.
    
     - If a kernel is configured without support for multi-threading & runs
       on a system with multi-threading & multiple VPs per core then we'll
       similarly reserve more interrupts for IPIs than we will possibly use.
    
     - In systems with multiple clusters the GIC can only provide us with
       the number of VPs in its cluster, not across all clusters. In this
       case we'll reserve fewer interrupts for IPIs than we need.
    
    Fix these issues by using num_possible_cpus() instead, which in all
    cases is actually indicative of how many IPIs we may need.
    Signed-off-by: NPaul Burton <paul.burton@mips.com>
    Cc: Jason Cooper <jason@lakedaemon.net>
    Cc: Marc Zyngier <marc.zyngier@arm.com>
    Cc: Thomas Gleixner <tglx@linutronix.de>
    Cc: linux-mips@linux-mips.org
    Signed-off-by: NMarc Zyngier <marc.zyngier@arm.com>
    25c51dad
irq-mips-gic.c 20.2 KB