Opened 11 years ago
Closed 8 years ago
#11892 closed defect (obsolete)
Changeset 45436 slows down program in guest considerably
Reported by: | kristiankarl | Owned by: | |
---|---|---|---|
Component: | other | Version: | VirtualBox 4.2.14 |
Keywords: | TSC offsetting SMP | Cc: | |
Guest type: | Windows | Host type: | Linux |
Description
Changeset https://www.virtualbox.org/changeset/45436/vbox (Disable TSC offsetting for SMP VMs) slows down program in guest considerably. I found this using the Spotify Desktop client. My guess is that it may have to do with CEF (https://code.google.com/p/chromiumembedded/) which it uses. I have not verified it with other clients using CEF, so I'm not sure as to why this changeset affects the Spotify client so hard...
Repro of problem:
1) VirtualBox installed on a Linux amd64 host
2) Launch a Windows 7 guest
3) Download and run latest Spotify windows desktop client (https://www.spotify.com/en/download/windows/)
4) The Spotify program runs super slow.
Fix the problem:
1) Fetch the latest version of VirtualBox OSE [source code]
2) Revert https://www.virtualbox.org/changeset/45436/vbox, or comment out lines 354-355 in src/VBox/VMM/VMMR3/TM.cpp
3) Build it and run it according to https://www.virtualbox.org/wiki/Linux%20build%20instructions
4) Launch a Windows 7 guest
5) Download and run latest Spotify windows desktop client (https://www.spotify.com/en/download/windows/)
6) The Spotify program runs fast.
Change History (2)
comment:1 by , 11 years ago
comment:2 by , 8 years ago
Resolution: | → obsolete |
---|---|
Status: | new → closed |
Please reopen if still relevant with a recent VirtualBox release.
We're aware that this change has consequences. However it was the only realistic short term fix for seriously buggy TSC behavior in the SMP case, because without this change TSC could go backwards temporarily, violating the most important specification how TSC is supposed to operate: as a monotonically increasing counter. This "going backwards" misbehavior confuses some software extremely, which is why backing out this change is simply not an option. Correctness has priority over performance in this case, however we're planning to develop a better fix.