On 09/18/2012 04:08 AM, Hao, Xudong wrote:
>>
>> The objective of the change is to disable lazy fpu loading (that is,
>> host fpu loaded in guest and vice-versa),
Not vice versa. We allow the guest fpu loaded in the host, but save it
on heavyweight exit or task switch.
when some bit except the
>> initial tree bits set in guest XCR0 (initial tree being XSTATE_FP|XSTATE_SSE|
>> XSTATE_YMM). Yes?
>>
>
> Yes, it's just the object.
>
>> If i get that right, then the suggestion seems to be:
>>
>> static bool lazy_fpu_allowed()
>> {
>> return (vcpu->arch.xcr0 & ~((u64)KVM_XSTATE_LAZY));
>> }
>>
>
> That may be:
>
> static bool lazy_fpu_allowed()
> {
> return !(vcpu->arch.xcr0 & ~((u64)KVM_XSTATE_LAZY));
> }
Shouldn't it depend on cr4.osxsave as well?
>
>> On guest entry:
>> if (!lazy_fpu_allowed(vcpu))
>> kvm_x86_ops->fpu_activate(vcpu);
>
But we already have that:
if (vcpu->fpu_active)
kvm_load_guest_fpu(vcpu);
so why not manage fpu_active to be always set when needed? I don't want
more checks in the entry path.
--
error compiling committee.c: too many arguments to function
--
To unsubscribe from this list: send the line "unsubscribe kvm" in
the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html