Escalated to Bugzilla from IssueTracker
Created attachment 117045 [details]
draft version of the patch that backported from RHEL 4.
Well, the issue makes sense. Just did a quick port from RHEL 4 and will test it
out tomorrow when I find the proper machines (ia64 and x86_64) to work with.
Created attachment 117068 [details]
Test program from Thomas Walker
compile with g++ -m32 -o sys32_time_test sys32_time_test.C
Test the draft patch on x86_64 machine and it seems to work fine by putting
sys32_time_test in a forever loop:
Without the patch, occasionally (depending on timer interrupts) the test program
catches the offset as:
System time(gettimeofday): 1122044166 sec, 0 milliseconds
System time(time): 1122044165 sec
1 times of 5626349
With the patch the loop could run forever with the following output:
We hit a problem 0 times of 10000000
Test program and new kernel gets kicked off on an IA64 machine now - looks fine.
Will let it loop for a while. If something is not right, I'll report back.
Otherwise, please assume we're all set for this issue.
A fix for this problem has just been committed to the RHEL3 U7
patch pool this evening (in kernel version 2.4.21-37.5.EL).
An advisory has been issued which should help the problem
described in this bug report. This report is therefore being
closed with a resolution of ERRATA. For more information
on the solution and/or where to find the updated files,
please follow the link below. You may reopen this bug report
if the solution does not work for you.