The patch I referenced (and forgot to attach) is located here:

http://www.silby.com/tsc.c-no_vm_smp_tsc.patch

Thanks to those who pointed out my error to me. :)

Mike "Silby" Silbersack

On Tue, 16 Aug 2011, Mike Silbersack wrote:


Hi all,

Thanks to a lightning strike, I recently upgraded my ESXi 4.1 system from an old Athlon X2 to a shiny new Core i5-2500K. I order to see how fast it was, I decided to run some buildworlds. I tried my FreeBSD 9 based VM first, and was unhappy with what I saw - many mpt timeouts were reported, and the filesystem ended up requiring a lot of fscking. My FreeBSD 8 based VM, on the other hand, was quite happy.

After some trial and error, I determined that using the TSC as a timecounter with the VM in SMP mode was the root cause. If I switch the VM to one vCPU and run with the TSC, the buildworld runs fine. If I leave it with two vCPUs and change the timecounter to ACPI, then it runs fine too. Based on these results, I created the attached patch; it turns the priority of the TSC down to -100 if it determines that it is running inside a virtualized SMP environment. (I did not do testing on KVM or qemu, but I am assuming that they probably do not have TSC emulation perfect either.)

I'd like to get this into 9.0 so that it works reliably for people who run it in a virtual environment on modern hardware. If someone could code review the patch, I would greatly appreciate it.

Thanks,

Mike "Silby" Silbersack

_______________________________________________
freebsd-current@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-current
To unsubscribe, send any mail to "freebsd-current-unsubscr...@freebsd.org"

Reply via email to