Re: [PATCH v4 5/5] x86, kvm: support vcpu preempted check

From: Paolo Bonzini
Date: Mon Oct 24 2016 - 11:18:59 EST




On 24/10/2016 17:14, Radim KrÄmÃÅ wrote:
> 2016-10-24 16:39+0200, Paolo Bonzini:
>> On 19/10/2016 19:24, Radim KrÄmÃÅ wrote:
>>>>> + if (vcpu->arch.st.msr_val & KVM_MSR_ENABLED)
>>>>> + if (kvm_read_guest_cached(vcpu->kvm, &vcpu->arch.st.stime,
>>>>> + &vcpu->arch.st.steal,
>>>>> + sizeof(struct kvm_steal_time)) == 0) {
>>>>> + vcpu->arch.st.steal.preempted = 1;
>>>>> + kvm_write_guest_cached(vcpu->kvm, &vcpu->arch.st.stime,
>>>>> + &vcpu->arch.st.steal,
>>>>> + sizeof(struct kvm_steal_time));
>>>>> + }
>>> Please name this block of code. Something like
>>> kvm_steal_time_set_preempted(vcpu);
>>
>> While at it:
>>
>> 1) the kvm_read_guest_cached is not necessary. You can rig the call to
>> kvm_write_guest_cached so that it only writes vcpu->arch.st.steal.preempted.
>
> I agree. kvm_write_guest_cached() always writes from offset 0, so we'd
> want a new function that allows to specify a starting offset.

Yeah, let's leave it for a follow-up then!

Thanks,

Paolo

> Using cached vcpu->arch.st.steal to avoid the read wouldn't be as good.
>