Comment 2 for bug 221351

Revision history for this message
Tim Gardner (timg-tpi) wrote :

SRU Justification:

Impact: Time jumps can cause processes to appear to hang.

Fix Description: To prevent this TSC specific wreckage we need to compare the TSC value against the reference value and return the latter when it is larger than the actual TSC value.

Patch: http://kernel.ubuntu.com/git?p=ubuntu/ubuntu-hardy.git;a=commit;h=91d34e2c845a1c24a5802fd353165b1d68720a1a

TEST CASE: (From the patch description) I was able to reproduce the problem with a gettimeofday loop test on a dual core and a quad core machine which both have sychronized TSCs. The TSCs seems not to be perfectly in sync though, but the kernel is not able to detect the slight delta in the sync check. Still there exists an extremly small window where this delta can be observed with a real big time jump. So far I was only able to reproduce this with the vsyscall gettimeofday implementation, but in theory this might be observable with the syscall based version as well.