linux/arch/s390/kvm
David Hildenbrand 96e0ed23dc KVM: s390: factor out and optimize floating irq VCPU kick
This patch factors out the search for a floating irq destination
VCPU as well as the kicking of the found VCPU. The search is optimized
in the following ways:

1. stopped VCPUs can't take any floating interrupts, so try to find an
   operating one. We have to take care of the special case where all
   VCPUs are stopped and we don't have any valid destination.

2. use online_vcpus, not KVM_MAX_VCPU. This speeds up the search
   especially if KVM_MAX_VCPU is increased one day. As these VCPU
   objects are initialized prior to increasing online_vcpus, we can be
   sure that they exist.

Reviewed-by: Cornelia Huck <cornelia.huck@de.ibm.com>
Reviewed-by: Dominik Dingel <dingel@linux.vnet.ibm.com>
Reviewed-by: Jens Freimann <jfrei@linux.vnet.ibm.com>
Signed-off-by: David Hildenbrand <dahi@linux.vnet.ibm.com>
Signed-off-by: Christian Borntraeger <borntraeger@de.ibm.com>
2015-05-08 15:51:16 +02:00
..
diag.c KVM/ARM changes for v4.1: 2015-04-07 18:09:20 +02:00
gaccess.c KVM: s390: Add MEMOP ioctls for reading/writing guest memory 2015-03-17 16:26:24 +01:00
gaccess.h KVM: s390: Add MEMOP ioctls for reading/writing guest memory 2015-03-17 16:26:24 +01:00
guestdbg.c KVM: s390: Use the read_guest_abs() in guest debug functions 2015-03-06 13:41:02 +01:00
intercept.c KVM: s390: Guest's memory access functions get access registers 2015-03-17 16:25:04 +01:00
interrupt.c KVM: s390: factor out and optimize floating irq VCPU kick 2015-05-08 15:51:16 +02:00
irq.h KVM: s390: irq routing for adapter interrupts. 2014-03-21 13:43:00 +01:00
Kconfig rcu: Make SRCU optional by using CONFIG_SRCU 2015-01-06 11:04:29 -08:00
kvm-s390.c KVM: s390: provide functions for blocking all CPUs 2015-05-08 15:51:15 +02:00
kvm-s390.h KVM: s390: provide functions for blocking all CPUs 2015-05-08 15:51:15 +02:00
Makefile KVM: s390: hardware support for guest debugging 2014-04-22 13:24:51 +02:00
priv.c KVM: s390: Enable guest EDAT2 support 2015-05-08 15:51:14 +02:00
sigp.c KVM: s390: Guest's memory access functions get access registers 2015-03-17 16:25:04 +01:00
trace-s390.h tracing: Add TRACE_SYSTEM_VAR to kvm-s390 2015-04-07 12:31:39 -04:00
trace.h KVM: s390: interpretive execution of SIGP EXTERNAL CALL 2014-05-16 14:57:28 +02:00