All of lore.kernel.org
 help / color / mirror / Atom feed
* [kvm-ppc-devel] [PATCH] avoid clobbering exit_reason
@ 2008-03-08 19:48 Hollis Blanchard
  0 siblings, 0 replies; only message in thread
From: Hollis Blanchard @ 2008-03-08 19:48 UTC (permalink / raw)
  To: kvm-ppc

FYI, here's the fix for another nasty yet dumb bug in which we were
losing MMIOs by clobbering exit_reason when a signal is pending:

diff --git a/arch/powerpc/kvm/powerpc.c b/arch/powerpc/kvm/powerpc.c
--- a/arch/powerpc/kvm/powerpc.c
+++ b/arch/powerpc/kvm/powerpc.c
@@ -388,7 +388,9 @@ int kvmppc_handle_exit(struct kvm_run *r
 
        kvmppc_check_and_deliver_interrupts(vcpu);
 
-       if (signal_pending(current)) {
+       /* Only check for signals if we aren't already exiting for some other
+        * reason. This keeps us from clobbering exit_reason. */
+       if (!(r & RESUME_HOST) && signal_pending(current)) {
                run->exit_reason = KVM_EXIT_INTR;
                r = (-EINTR << 2) | RESUME_HOST | (r & RESUME_FLAG_NV);
        }

As far as I know, there are currently no more showstopper bugs, so we
can get back to making network IO work.

Updated patches are in the usual place: http://penguinppc.org/~hollisb/kvm/

-- 
Hollis Blanchard
IBM Linux Technology Center


-------------------------------------------------------------------------
This SF.net email is sponsored by: Microsoft
Defy all challenges. Microsoft(R) Visual Studio 2008.
http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/
_______________________________________________
kvm-ppc-devel mailing list
kvm-ppc-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/kvm-ppc-devel

^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~2008-03-08 19:48 UTC | newest]

Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2008-03-08 19:48 [kvm-ppc-devel] [PATCH] avoid clobbering exit_reason Hollis Blanchard

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.