vbox: disable rdtsc VM exit

Trapping rdtsc creates a huge load in some guests, e.g. Windows 8.1,
that use this instruction very frequently. This influences audio
playback/recording in a bad way (distorted sounds, …). As a interim
solution disable the virtualization of rdtsc completely. As long
as each guest VM runs on its own CPU core it should be fine as there
should not be that much interference (TSC warping).

That being said, TSC offsetting as well as adjusting within vbox have to
be evaluated.

Fixes #1768.
This commit is contained in:
Josef Söntgen 2015-11-02 14:06:27 +01:00 committed by Christian Helmuth
parent d34bbbceb2
commit 5b6fdc96fc

View File

@ -63,10 +63,13 @@ class Vcpu_handler_vmx : public Vcpu_handler
*/
VMX_VMCS_CTRL_PROC_EXEC_CR8_LOAD_EXIT |
VMX_VMCS_CTRL_PROC_EXEC_CR8_STORE_EXIT |
VMX_VMCS_CTRL_PROC_EXEC_RDPMC_EXIT |
VMX_VMCS_CTRL_PROC_EXEC_RDPMC_EXIT;
/* VMX_VMCS_CTRL_PROC_EXEC_PAUSE_EXIT | */
/* we don't support tsc offsetting for now - so let the rdtsc exit */
VMX_VMCS_CTRL_PROC_EXEC_RDTSC_EXIT;
/*
* Disable trapping RDTSC for now as it creates a huge load with
* VM guests that execute it frequently.
*/
// VMX_VMCS_CTRL_PROC_EXEC_RDTSC_EXIT;
next_utcb.ctrl[1] = VMX_VMCS_CTRL_PROC_EXEC2_VIRT_APIC |
VMX_VMCS_CTRL_PROC_EXEC2_WBINVD_EXIT |