OS-6960: bhyve TSC offsetting should be platform-agnostic


Issue Type:Improvement
Priority:4 - Normal
Created at:2018-05-15T20:09:39.563Z
Updated at:2018-06-12T20:26:54.781Z


Created by:Patrick Mooney [X]
Reported by:Patrick Mooney [X]
Assigned to:Patrick Mooney [X]


Fixed: A fix for this issue is checked into the tree and tested.
(Resolution Date: 2018-06-12T20:26:54.765Z)

Fix Versions

2018-06-21 Underwater Reactor (Release Date: 2018-06-21)

Related Links




Currently, all of the logic dealing with TSC offsets are segregated into custom interfaces in the VMX portion of the codebase.  Generalizing this would be nice for shared logic related to the clock.  (Such as OS-6949)


Comment by Patrick Mooney [X]
Created at 2018-06-11T20:05:29.526Z

To test this, I built a custom SmartOS PI to use as in a guest. That platform would ignore the fact that it was virtualized when initializing the TSC, and while running on my IvyB machine, would pay heed to the errata about TSCs not being reset on reboot (so the guest OS would reset it instead). The TSC writes from the guest would occur as expected under these customized conditions, and the written values were reflected in the generic offset code. Inside the guest, the offsets appeared to be applied properly, as NTP was able to set an maintain a synchronized clock.

Comment by Jira Bot
Created at 2018-06-12T20:20:52.088Z

illumos-joyent commit 2d6c2da33710f0ac11e240fa703d7f072540d9f0 (branch master, by Patrick Mooney)

OS-6960 bhyve TSC offsetting should be platform-agnostic
Reviewed by: Hans Rosenfeld <hans.rosenfeld@joyent.com>
Reviewed by: Mike Gerdts <mike.gerdts@joyent.com>
Reviewed by: John Levon <john.levon@joyent.com>
Approved by: John Levon <john.levon@joyent.com>