]> git.baikalelectronics.ru Git - kernel.git/commit
s390/kvm: Fix BUG in include/linux/kvm_host.h:745
authorChristian Borntraeger <borntraeger@de.ibm.com>
Tue, 8 Jan 2013 15:23:10 +0000 (16:23 +0100)
committerMarcelo Tosatti <mtosatti@redhat.com>
Thu, 10 Jan 2013 19:53:40 +0000 (17:53 -0200)
commit19743d22187f98f63b36a1d15f3bb6a4a5165148
tree993883209b2b0a03e64cfe3282c29b1dbe7170be
parent8543fbaf8079e5f726ea0e3fefac087b8fcffe16
s390/kvm: Fix BUG in include/linux/kvm_host.h:745

commit 44af7131560e782c432f60776d0b1ff10a93048e
    kvm: Directly account vtime to system on guest switch

also removed the irq_disable/enable around kvm guest switch, which
is correct in itself. Unfortunately, there is a BUG ON that (correctly)
checks for preemptible to cover the call to rcu later on.
(Introduced with commit 9c11b934eb0ea003aa1268653b3f9863448fc8da
    KVM: make guest mode entry to be rcu quiescent state)

This check might trigger depending on the kernel config.
Lets make sure that no preemption happens during kvm_guest_enter.
We can enable preemption again after the call to
rcu_virt_note_context_switch returns.

Please note that we continue to run s390 guests with interrupts
enabled.

Acked-by: Frederic Weisbecker <fweisbec@gmail.com>
CC: Gleb Natapov <gleb@redhat.com>
Signed-off-by: Christian Borntraeger <borntraeger@de.ibm.com>
Signed-off-by: Marcelo Tosatti <mtosatti@redhat.com>
arch/s390/kvm/kvm-s390.c