[PATCH v2 01/15] KVM: arm/arm64: VGIC: don't track used LRs in the distributor

Pavel Fedin p.fedin at samsung.com
Fri Oct 2 05:39:44 PDT 2015


> Can't you use the ELRSR bitmap instead? The idea of lr_used sounds like
> a moot optimization to me.

 This perfectly works on 4.2, but will break HW interrupt forwarding on 4.3. If you look at 4.3
__kvm_vgic_sync_hwstate(), you'll notice that for HW interrupts lr_used and elrsr_ptr will diverge
at this point, and this function actually brings them into sync. And it relies on lr_used for the
loop to operate correctly (no idea why we use "for" loop here with extra check instead of
"for_each_set_bit(lr, vgic_cpu->lr_used, vgic->nr_lr)", looks stupid to me).

Kind regards,
Pavel Fedin
Expert Engineer
Samsung Electronics Research center Russia

More information about the linux-arm-kernel mailing list