VirtualBox

Changeset 45436 in vbox for trunk/src/VBox/VMM/VMMR3


Ignore:
Timestamp:
Apr 9, 2013 2:06:35 PM (12 years ago)
Author:
vboxsync
Message:

VMM/TM.cpp: disable TSC offsetting for SMP VMs as a workaround for the problem that TSC can go backwards when mixing offsetting and taking RDTSC exits between VCPUs

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/VBox/VMM/VMMR3/TM.cpp

    r44847 r45436  
    346346        else
    347347            pVM->tm.s.fMaybeUseOffsettedHostTSC = true;
     348        /** @todo needs a better fix, for now disable offsetted mode for VMs
     349         * with more than one VCPU. With the current TSC handling (frequent
     350         * switching between offsetted mode and taking VM exits, on all VCPUs
     351         * without any kind of coordination) it will lead to inconsistent TSC
     352         * behavior with guest SMP, including TSC going backwards. */
     353        if (pVM->cCpus != 1)
     354            pVM->tm.s.fMaybeUseOffsettedHostTSC = false;
    348355    }
    349356
     
    447454    /** @cfgm{TM/CatchUpPrecentage[0..9], uint32_t, %, 1, 2000, various}
    448455     * The catch-up percent for a given period.  */
    449     /** @cfgm{TM/CatchUpStartThreshold[0..9], uint64_t, ns, 0, UINT64_MAX,
     456    /** @cfgm{TM/CatchUpStartThreshold[0..9], uint64_t, ns, 0, UINT64_MAX}
    450457     * The catch-up period threshold, or if you like, when a period starts.  */
    451458#define TM_CFG_PERIOD(iPeriod, DefStart, DefPct) \
Note: See TracChangeset for help on using the changeset viewer.

© 2024 Oracle Support Privacy / Do Not Sell My Info Terms of Use Trademark Policy Automated Access Etiquette