summaryrefslogtreecommitdiffstats
path: root/include/kvm
diff options
context:
space:
mode:
authorShih-Wei Li <shihwei@cs.columbia.edu>2016-10-19 20:12:34 +0200
committerChristoffer Dall <cdall@linaro.org>2017-04-09 16:45:31 +0200
commitf6769581e90ba2535b3e587fe15b74f6cbc4aaab (patch)
tree947613a9b9ca8970e457000fd47769e2a6c60894 /include/kvm
parentKVM: arm/arm64: vgic: Defer touching GICH_VMCR to vcpu_load/put (diff)
downloadlinux-f6769581e90ba2535b3e587fe15b74f6cbc4aaab.tar.xz
linux-f6769581e90ba2535b3e587fe15b74f6cbc4aaab.zip
KVM: arm/arm64: vgic: Avoid flushing vgic state when there's no pending IRQ
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. Reviewed-by: Marc Zyngier <marc.zyngier@arm.com> Signed-off-by: Shih-Wei Li <shihwei@cs.columbia.edu> Signed-off-by: Christoffer Dall <cdall@linaro.org>
Diffstat (limited to 'include/kvm')
0 files changed, 0 insertions, 0 deletions