From mboxrd@z Thu Jan 1 00:00:00 1970 From: Alexander Graf Date: Thu, 15 Mar 2012 12:11:23 +0000 Subject: [PATCH 54/56] KVM: PPC: Book3S: PR: Fix preemption Message-Id: <1331813485-14722-55-git-send-email-agraf@suse.de> List-Id: References: <1331813485-14722-1-git-send-email-agraf@suse.de> In-Reply-To: <1331813485-14722-1-git-send-email-agraf@suse.de> MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit To: kvm-ppc@vger.kernel.org Cc: kvm@vger.kernel.org We were leaking preemption counters. Fix the code to always toggle between preempt and non-preempt properly. Signed-off-by: Alexander Graf --- arch/powerpc/kvm/book3s_pr.c | 3 +-- 1 files changed, 1 insertions(+), 2 deletions(-) diff --git a/arch/powerpc/kvm/book3s_pr.c b/arch/powerpc/kvm/book3s_pr.c index 62d93b0..457ba68 100644 --- a/arch/powerpc/kvm/book3s_pr.c +++ b/arch/powerpc/kvm/book3s_pr.c @@ -781,6 +781,7 @@ program_interrupt: } } + preempt_disable(); if (!(r & RESUME_HOST)) { /* To avoid clobbering exit_reason, only check for signals if * we aren't already exiting to userspace for some other @@ -802,8 +803,6 @@ program_interrupt: run->exit_reason = KVM_EXIT_INTR; r = -EINTR; } else { - preempt_disable(); - /* In case an interrupt came in that was triggered * from userspace (like DEC), we need to check what * to inject now! */ -- 1.6.0.2