Messages in this thread | | | Subject | Re: [PATCH 1/2] x86,kvm: move qemu/guest FPU switching out to vcpu_run | From | Quan Xu <> | Date | Fri, 17 Nov 2017 10:54:50 +0800 |
| |
On 2017-11-17 01:50, Paolo Bonzini wrote: > On 16/11/2017 15:28, Quan Xu wrote: >> vcpu->srcu_idx = srcu_read_lock(&kvm->srcu); >> >> + kvm_load_guest_fpu(vcpu); >> + >> for (;;) { >> if (kvm_vcpu_running(vcpu)) { >> r = vcpu_enter_guest(vcpu); >> >> << >> >> >> >> as Rik dropped kvm_load_guest_fpu(vcpu) in vcpu_enter_guest() .. >> in case still in kvm mode, how to make sure to pkru is always the >> right one before enter guest mode, not be preempted before >> preempt_disable() after migration? :( > As you know: > > 1) kvm_load_guest_fpu doesn't load the guest PKRU, it keeps the > userspace PKRU. > > 2) the guest PKRU is only ever set in a preemption-disabled area > > Thus, context switch always sees the userspace PKRU. The guest PKRU is > only set the next time vmx_vcpu_run executes. > > Paolo >
Paolo, thanks for your explanation!!:-) Rik, could you cc me in v2?
Quan
| |