|Priority:||4 - Normal|
|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)
2018-06-21 Underwater Reactor (Release Date: 2018-06-21)
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)
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.
illumos-joyent commit 2d6c2da33710f0ac11e240fa703d7f072540d9f0 (branch master, by Patrick Mooney)
OS-6960 bhyve TSC offsetting should be platform-agnostic
Reviewed by: Hans Rosenfeld <email@example.com>
Reviewed by: Mike Gerdts <firstname.lastname@example.org>
Reviewed by: John Levon <email@example.com>
Approved by: John Levon <firstname.lastname@example.org>