qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Qemu-devel] [PATCH] ppc: Fix bug in handling of PAPR hypercall exit


From: Alexander Graf
Subject: Re: [Qemu-devel] [PATCH] ppc: Fix bug in handling of PAPR hypercall exits
Date: Tue, 7 Aug 2012 11:05:03 +0200

On 07.08.2012, at 06:44, David Gibson wrote:

> Currently for powerpc, kvm_arch_handle_exit() always returns 1, meaning
> that its caller - kvm_cpu_exec() - will always exit immediately afterwards
> to the loop in qemu_kvm_cpu_thread_fn().
> 
> There's no need to do this.  Once we've handled the hypercall there's no
> reason we can't go straight around and KVM_RUN again, which is what ret = 0
> will signal.  The only exception might be for hypercalls which affect the
> state of cpu_can_run(), however the only one that might do this is H_CEDE
> and for kvm that is always handled in the kernel, not qemu.
> 
> Furtherm setting ret = 0 means that when exit_requested is set from a
> hypercall, we will enter KVM_RUN once more with a signal which lets the
> the kernel do its internal logic to complete the hypercall with out
> actually executing any more guest code.  This is important if our hypercall
> also triggered a reset, which previously would re-initialize everything
> without completing the hypercall.  This caused the kernel to get confused
> because it thought the guest was still in the middle of a hypercall when
> it has actually been reset.
> 
> This patch therefore changes to ret = 0, which is both a bugfix and a small
> optimization.
> 
> Signed-off-by: David Gibson <address@hidden>

Thanks, applied to ppc-next.

Alex




reply via email to

[Prev in Thread] Current Thread [Next in Thread]