As discussed in http://bugzilla.kernel.org/show_bug.cgi?id=5127, Linux kernels prior to the clocksource patches (i.e., 2.6.17 and earlier) have buggy code for detecting and compensating for lost timer interrupts (ticks). The bug results in spurious detection of lost ticks and thus makes the clock run faster than real time. This problem is observable on real hardware, but is much more severe in a virtual machine. In 32-bit kernels, the command line option clock=pit effectively disables lost-tick compensation. (That's not the primary intent of the option; it's just that basing timekeeping only on the PIT, as clock=pit does, gives the kernel no way to detect lost ticks, so it doesn't try.) On 64-bit kernels, however, there is no way to disable lost-tick compensation from the command line. We'd like to see a kernel command-line option to turn off lost-tick compensation in 64-bit RHEL4 kernels, bringing them more or less to parity with 32-bit kernels in this regard. (I was planning to file a suggested patch to add the option along with this bug report, but I don't have one ready quite yet. I'll attach one when I have it; should be later this week. Due to some active discussions among various parties we needed to get the bug into the RH bugzilla right away rather than waiting for the patch to be done. Thanks for your patience.)
Created attachment 159610 [details] Add a command-line option to disable lost tick compensation Here's the patch I promised.
Rick, As we discussed on our phone conversation, what I'd like to VMware for is proof that turning off the lost tick compensation code conclusively shows that the RHEL 4 guests stop gaining time. First they should show us what kind of drift they are seeing on a stock RHEL 4.5 kernel. Actual deltas from wall time. Then, with their patch from BZ 248491 applied to a test kernel that turns off the lost tick compensation code, show us how it helped, show us the delta from our kernel and the test kernel. This would give us something conclusive to discuss with engineering and would certainly strengthen VMware's case for getting this included in RHEL 4. Regards, Chris This event sent from IssueTracker by cww issue 126566
We'll do some measurements and provide graphs.
This request was evaluated by Red Hat Product Management for inclusion in a Red Hat Enterprise Linux maintenance release. Product Management has requested further review of this request by Red Hat Engineering, for potential inclusion in a Red Hat Enterprise Linux Update release for currently deployed products. This request is not yet committed for inclusion in an Update release.
Data with and without patch, from David Meng. Basically time does not jump forward with the patch. Server time RHEL4U6 Guest OS without patch time Difference (sec.) Out sync (sec) Thu Dec 6 04:09:47 PST 2007 Thu Dec 6 04:09:53 PST 2007 7 0 Thu Dec 6 04:16:48 PST 2007 Thu Dec 6 04:16:56 PST 2007 8 1 Thu Dec 6 04:17:00 PST 2007 Thu Dec 6 04:17:07 PST 2007 7 0 Thu Dec 6 04:20:21 PST 2007 Thu Dec 6 04:20:29 PST 2007 9 2 Thu Dec 6 04:23:45 PST 2007 Thu Dec 6 04:23:54 PST 2007 9 2 Thu Dec 6 04:31:51 PST 2007 Thu Dec 6 04:32:01 PST 2007 10 3 Thu Dec 6 04:32:00 PST 2007 Thu Dec 6 04:32:09 PST 2007 9 2 Thu Dec 6 04:45:12 PST 2007 Thu Dec 6 04:45:23 PST 2007 11 4 Thu Dec 6 04:48:11 PST 2007 Thu Dec 6 04:48:25 PST 2007 14 7 Thu Dec 6 04:49:32 PST 2007 Thu Dec 6 04:49:45 PST 2007 13 6 Thu Dec 6 04:54:12 PST 2007 Thu Dec 6 04:45:26 PST 2007 14 7 Thu Dec 6 04:56:07 PST 2007 Thu Dec 6 04:56:20 PST 2007 13 6 Thu Dec 6 04:58:26 PST 2007 Thu Dec 6 04:58:40 PST 2007 14 7 Thu Dec 6 05:00:54 PST 2007 Thu Dec 6 05:01:08 PST 2007 14 7 Thu Dec 6 05:06:00 PST 2007 Thu Dec 6 05:06:15 PST 2007 15 8 Thu Dec 6 05:14:09 PST 2007 Thu Dec 6 05:14:24 PST 2007 15 8 Thu Dec 6 05:19:00 PST 2007 Thu Dec 6 05:19:17 PST 2007 17 10 Thu Dec 6 05:20:11 PST 2007 Thu Dec 6 05:20:27 PST 2007 16 9 Thu Dec 6 05:29:02 PST 2007 Thu Dec 6 05:29:20 PST 2007 18 11 Thu Dec 6 05:40:44 PST 2007 Thu Dec 6 05:41:03 PST 2007 19 12 Thu Dec 6 05:51:11 PST 2007 Thu Dec 6 05:51:32 PST 2007 21 14 Thu Dec 6 06:17:18 PST 2007 Thu Dec 6 06:17:44 PST 2007 26 19 Thu Dec 6 06:24:32 PST 2007 Thu Dec 6 06:24:57 PST 2007 25 18 Server time RHEL4U6 Guest OS with patch time Difference (sec.) Out sync (sec) Thu Dec 6 18:34:00 PST 2007 Thu Dec 6 18:34:00 PST 2007 0 0 Thu Dec 6 18:34:56 PST 2007 Thu Dec 6 18:34:56 PST 2007 0 0 Thu Dec 6 18:39:19 PST 2007 Thu Dec 6 18:39:19 PST 2007 0 0 Thu Dec 6 18:43:15 PST 2007 Thu Dec 6 18:43:15 PST 2007 0 0 Thu Dec 6 18:45:44 PST 2007 Thu Dec 6 18:45:44 PST 2007 0 0 Thu Dec 6 18:49:50 PST 2007 Thu Dec 6 18:49:51 PST 2007 1 1 Thu Dec 6 18:51:40 PST 2007 Thu Dec 6 18:51:40 PST 2007 0 0 Thu Dec 6 18:57:44 PST 2007 Thu Dec 6 18:57:44 PST 2007 0 0 Thu Dec 6 19:04:57 PST 2007 Thu Dec 6 19:04:57 PST 2007 0 0 Thu Dec 6 19:12:25 PST 2007 Thu Dec 6 19:12:25 PST 2007 0 0 Thu Dec 6 19:23:16 PST 2007 Thu Dec 6 19:23:16 PST 2007 0 0 Thu Dec 6 19:34:28 PST 2007 Thu Dec 6 19:34:28 PST 2007 0 0 Thu Dec 6 19:40:40 PST 2007 Thu Dec 6 19:40:40 PST 2007 0 0 Thu Dec 6 19:53:55 PST 2007 Thu Dec 6 19:53:55 PST 2007 0 0 Thu Dec 6 20:04:43 PST 2007 Thu Dec 6 20:04:43 PST 2007 0 0 Thu Dec 6 20:13:32 PST 2007 Thu Dec 6 20:13:32 PST 2007 0 0 Thu Dec 6 20:23:50 PST 2007 Thu Dec 6 20:23:51 PST 2007 1 1 Thu Dec 6 20:33:06 PST 2007 Thu Dec 6 20:33:06 PST 2007 0 0 Thu Dec 6 20:43:19 PST 2007 Thu Dec 6 20:43:19 PST 2007 0 0 Thu Dec 6 20:53:30 PST 2007 Thu Dec 6 20:53:30 PST 2007 0 0 Thu Dec 6 21:02:53 PST 2007 Thu Dec 6 21:02:53 PST 2007 0 0
This patch does not depend on the divider patch discussed bug 248488. Of course, they both affect timekeeping and we would like to see both changes applied.
Development Management has reviewed and declined this request. You may appeal this decision by reopening this request.
Just clearing a needinfo request on me.