KVM: s390: handle pending local interrupts via bitmap
authorJens Freimann <jfrei@linux.vnet.ibm.com>
Tue, 29 Jul 2014 13:11:49 +0000 (15:11 +0200)
committerChristian Borntraeger <borntraeger@de.ibm.com>
Fri, 28 Nov 2014 12:59:04 +0000 (13:59 +0100)
commit383d0b050106abecb82f43101cac94fa423af5cd
tree0c774c70890bc3423147f366549a47d34a19dd6a
parentc0e6159d519ec429ebf0d54025726cbe41b9e456
KVM: s390: handle pending local interrupts via bitmap

This patch adapts handling of local interrupts to be more compliant with
the z/Architecture Principles of Operation and introduces a data
structure
which allows more efficient handling of interrupts.

* get rid of li->active flag, use bitmap instead
* Keep interrupts in a bitmap instead of a list
* Deliver interrupts in the order of their priority as defined in the
  PoP
* Use a second bitmap for sigp emergency requests, as a CPU can have
  one request pending from every other CPU in the system.

Signed-off-by: Jens Freimann <jfrei@linux.vnet.ibm.com>
Reviewed-by: Cornelia Huck <cornelia.huck@de.ibm.com>
Reviewed-by: David Hildenbrand <dahi@linux.vnet.ibm.com>
Signed-off-by: Christian Borntraeger <borntraeger@de.ibm.com>
arch/s390/include/asm/kvm_host.h
arch/s390/kvm/intercept.c
arch/s390/kvm/interrupt.c
arch/s390/kvm/kvm-s390.c
arch/s390/kvm/kvm-s390.h
arch/s390/kvm/sigp.c