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

Re: [Xen-devel] [PATCH v2 1/3] Nested VMX: Check VMX capability before read VMX related MSRs.



Jan Beulich wrote on 2013-09-10:
>>>> On 10.09.13 at 08:14, Yang Zhang <yang.z.zhang@xxxxxxxxx> wrote:
>> +    /*
>> +     * Those MSRs available only when bit 55 of
>> +     * MSR_IA32_VMX_BASIC is set.
>> +     */
>> +    rdmsrl(MSR_IA32_VMX_BASIC, data);
>> +    if ( msr >= MSR_IA32_VMX_TRUE_PINBASED_CTLS &&
>> +         msr <= MSR_IA32_VMX_TRUE_ENTRY_CTLS &&
> 
> Doing this with a range check is pretty odd - neither the lower nor
> the upper bound are really meant to be boundaries. I'd prefer if you
> did this with a switch statement, enumerating all four MSRs.
> The compiler can then still convert that to a range comparison.
> 
> And that way you can also more the rdmsrl() out of the fast path.
> Which makes me ask - wouldn't it be better to read this MSR into a
> global variable once at boot time, and then use that variable instead
> of reading the MSR over and over?
Sure. I will update the patch according your comments here and in third patch.

> 
> Jan
> 
>> +         !(data & VMX_BASIC_DEFAULT1_ZERO) )
>> +        return 0;
>> +
>


Best regards,
Yang



_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxx
http://lists.xen.org/xen-devel


 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.