Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 29 Oct 2017 20:50:03 +0000 (UTC)
From:      Ian Lepore <ian@FreeBSD.org>
To:        src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org
Subject:   svn commit: r325108 - head/sys/amd64/vmm/io
Message-ID:  <201710292050.v9TKo3j5058456@repo.freebsd.org>

next in thread | raw e-mail | index | archive | help
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 */



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201710292050.v9TKo3j5058456>