2017-11-16 06:02:34

by Rik van Riel

[permalink] [raw]
Subject: Re: [PATCH 1/2] x86,kvm: move qemu/guest FPU switching out to vcpu_run

On Thu, 2017-11-16 at 10:50 +0800, Quan Xu wrote:
>
> On 2017-11-15 22:43, Rik van Riel wrote:
> > Can you explain why you believe that?
>
> for example, a vcpu thread is running in kvm mode under cretical
> condition to stop. QEMU send an IPI to cause a VM-exit to happen
> immediately, and this IPI doesn't make vcpu return to QEMU. IIUC
> this vcpu thread will still continue to run in kvm mode when is
> waked up at targer machine. with your patch, I don't see a chance
> to load guest FPU or XSTATE, until return to QEMU and run kvm mode
> again.
>
> then the FPU or XSTATE status is inconsistent for a small window,
> what's 
> even
> worse is that the vcpu is running.
>
> Did I misunderstand?

At context switch time, the context switch code will save
the guest FPU state to current->thread.fpu when the
VCPU thread is scheduled out.

When the VCPU thread is scheduled back in, the context
switch code will restore current->thread.fpu to the FPU
registers.

The VCPU thread will never run with anything else than
the guest FPU state, while inside the KVM_RUN code.

From 1584194693657119671@xxx Thu Nov 16 04:16:31 +0000 2017
X-GM-THRID: 1584017174910331026
X-Gmail-Labels: Inbox,Category Forums,HistoricalUnread