svn commit: r325108 - head/sys/amd64/vmm/io
Ian Lepore
ian at FreeBSD.org
Sun Oct 29 20:50:04 UTC 2017
Author: ian
Date: Sun Oct 29 20:50:03 2017
New Revision: 325108
URL: https://svnweb.freebsd.org/changeset/base/325108
Log:
Improve the performance of the hpet timer in bhyve guests by making the
timer frequency a power of two. This changes the frequency from 10 to
16.7 MHz (2 ^ 24 HZ). Using a power of two avoids roundoff errors when
doing arithmetic in sbintime_t units.
Testing shows this can fix erratic ntpd behavior in guests using the
hpet timer (which is the default for multicore guests).
Reported by: bsam@
Modified:
head/sys/amd64/vmm/io/vhpet.c
Modified: head/sys/amd64/vmm/io/vhpet.c
==============================================================================
--- head/sys/amd64/vmm/io/vhpet.c Sun Oct 29 20:40:56 2017 (r325107)
+++ head/sys/amd64/vmm/io/vhpet.c Sun Oct 29 20:50:03 2017 (r325108)
@@ -51,7 +51,7 @@ __FBSDID("$FreeBSD$");
static MALLOC_DEFINE(M_VHPET, "vhpet", "bhyve virtual hpet");
-#define HPET_FREQ 10000000 /* 10.0 Mhz */
+#define HPET_FREQ 16777216 /* 16.7 (2^24) Mhz */
#define FS_PER_S 1000000000000000ul
/* Timer N Configuration and Capabilities Register */
More information about the svn-src-all
mailing list