• Marc Zyngier's avatar
    irqchip/gic-v3-its: Limit scope of VPE mapping to be per ITS · 2247e1bf
    Marc Zyngier authored
    So far, we map all VPEs on all ITSs. While this is not wrong,
    this is quite a big hammer, as moving a VPE around requires
    all ITSs to be synchronized. Needles to say, this is an
    expensive proposition.
    
    Instead, let's switch to a mode where we issue VMAPP commands
    only on ITSs that are actually involved in reporting interrupts
    to the given VM.
    
    For that purpose, we refcount the number of interrupts are are
    mapped for this VM on each ITS, performing the map/unmap
    operations as required. It then allows us to use this refcount
    to only issue VMOVP to the ITSs that need to know about this
    VM.
    Signed-off-by: default avatarMarc Zyngier <marc.zyngier@arm.com>
    2247e1bf
irq-gic-v3-its.c 84.8 KB