Re: [PATCH v2] KVM: nVMX: Add support for rdtscp

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

 



On 2015-03-23 18:01, Bandan Das wrote:
> Jan Kiszka <jan.kiszka@xxxxxx> writes:
> ...
>> --- a/arch/x86/kvm/vmx.c
>> +++ b/arch/x86/kvm/vmx.c
>> @@ -2467,6 +2467,7 @@ static void nested_vmx_setup_ctls_msrs(struct vcpu_vmx *vmx)
>>  	vmx->nested.nested_vmx_secondary_ctls_low = 0;
>>  	vmx->nested.nested_vmx_secondary_ctls_high &=
>>  		SECONDARY_EXEC_VIRTUALIZE_APIC_ACCESSES |
>> +		SECONDARY_EXEC_RDTSCP |
>>  		SECONDARY_EXEC_VIRTUALIZE_X2APIC_MODE |
>>  		SECONDARY_EXEC_APIC_REGISTER_VIRT |
>>  		SECONDARY_EXEC_VIRTUAL_INTR_DELIVERY |
>> @@ -7510,7 +7511,7 @@ static bool nested_vmx_exit_handled(struct kvm_vcpu *vcpu)
>>  		return nested_cpu_has(vmcs12, CPU_BASED_INVLPG_EXITING);
>>  	case EXIT_REASON_RDPMC:
>>  		return nested_cpu_has(vmcs12, CPU_BASED_RDPMC_EXITING);
>> -	case EXIT_REASON_RDTSC:
>> +	case EXIT_REASON_RDTSC: case EXIT_REASON_RDTSCP:
>>  		return nested_cpu_has(vmcs12, CPU_BASED_RDTSC_EXITING);
>>  	case EXIT_REASON_VMCALL: case EXIT_REASON_VMCLEAR:
>>  	case EXIT_REASON_VMLAUNCH: case EXIT_REASON_VMPTRLD:
>> @@ -8517,6 +8518,9 @@ static void vmx_cpuid_update(struct kvm_vcpu *vcpu)
>>  						exec_control);
>>  			}
>>  		}
>> +		if (!vmx->rdtscp_enabled)
>> +			vmx->nested.nested_vmx_secondary_ctls_high &=
>> +				~SECONDARY_EXEC_RDTSCP;
> No need to do this if nested is not enabled ? Or just
> a "if (nested)" in the prior if else loop should be enough I think.

I can add this - but this is far away from being a hotpath. What would
be the benefit?

Thanks,
Jan


Attachment: signature.asc
Description: OpenPGP digital signature


[Index of Archives]     [KVM ARM]     [KVM ia64]     [KVM ppc]     [Virtualization Tools]     [Spice Development]     [Libvirt]     [Libvirt Users]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite Questions]     [Linux Kernel]     [Linux SCSI]     [XFree86]
  Powered by Linux