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