[PATCH v2 02/10] KVM: arm/arm64: vgic: Avoid flushing vgic state when there's no pending IRQ

Marc Zyngier marc.zyngier at arm.com
Mon Mar 27 03:52:23 PDT 2017


On 21/03/17 21:10, Christoffer Dall wrote:
> From: Shih-Wei Li <shihwei at cs.columbia.edu>
> 
> We do not need to flush vgic states in each world switch unless
> there is pending IRQ queued to the vgic's ap list. We can thus reduce
> the overhead by not grabbing the spinlock and not making the extra
> function call to vgic_flush_lr_state.
> 
> Note: list_empty is a single atomic read (uses READ_ONCE) and can
> therefore check if a list is empty or not without the need to take the
> spinlock protecting the list.
> 
> Signed-off-by: Shih-Wei Li <shihwei at cs.columbia.edu>
> Signed-off-by: Christoffer Dall <cdall at linaro.org>

Reviewed-by: Marc Zyngier <marc.zyngier at arm.com>

	M.
-- 
Jazz is not dead. It just smells funny...



More information about the linux-arm-kernel mailing list