Jan Kiszka <jan.kiszka@xxxxxx> writes: > 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? Right, definitely not a hotpath, just seems unnecessary if nested is not enabled. Bandan > Thanks, > Jan -- To unsubscribe from this list: send the line "unsubscribe kvm" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html