]> git.baikalelectronics.ru Git - kernel.git/commit
KVM: s390: make exit_sie_sync more robust
authorChristian Borntraeger <borntraeger@de.ibm.com>
Thu, 9 Apr 2015 11:49:04 +0000 (13:49 +0200)
committerChristian Borntraeger <borntraeger@de.ibm.com>
Fri, 8 May 2015 13:51:14 +0000 (15:51 +0200)
commit279e8fb8de896209007649ed4a311c824c5c4bea
tree6b03aee4f322771861214c72788be2c4fe48e118
parent267d38d675a4d398ebc40a6c2eae0ea31e1d16e3
KVM: s390: make exit_sie_sync more robust

exit_sie_sync is used to kick CPUs out of SIE and prevent reentering at
any point in time. This is used to reload the prefix pages and to
set the IBS stuff in a way that guarantees that after this function
returns we are no longer in SIE. All current users trigger KVM requests.

The request must be set before we block the CPUs to avoid races. Let's
make this implicit by adding the request into a new function
kvm_s390_sync_requests that replaces exit_sie_sync and split out
s390_vcpu_block and s390_vcpu_unblock, that can be used to keep
CPUs out of SIE independent of requests.

Signed-off-by: Christian Borntraeger <borntraeger@de.ibm.com>
Reviewed-by: David Hildenbrand <dahi@linux.vnet.ibm.com>
Reviewed-by: Cornelia Huck <cornelia.huck@de.ibm.com>
arch/s390/include/asm/kvm_host.h
arch/s390/kernel/entry.S
arch/s390/kvm/kvm-s390.c
arch/s390/kvm/kvm-s390.h