Bug 5127
Summary: | Lost ticks compensation fires when it should not | ||
---|---|---|---|
Product: | Timers | Reporter: | Tim Mann (mann) |
Component: | gettimeofday | Assignee: | john stultz (john.stultz) |
Status: | CLOSED CODE_FIX | ||
Severity: | normal | CC: | akpm, jdelvare |
Priority: | P2 | ||
Hardware: | i386 | ||
OS: | Linux | ||
Kernel Version: | 2.6.12.5 | Subsystem: | |
Regression: | No | Bisected commit-id: |
Description
Tim Mann
2005-08-24 17:12:48 UTC
Yes, this is a problematic issue and has been a motivater for my generic timekeeping code. I'm working to get those patches integrated into the kernel, but I am running into a bit of trouble on lkml. Please give my patches a try (the last released version was B5). The cumulative version of the patch can be found here: http://www.ussg.iu.edu/hypermail/linux/kernel/0508.1/0982.html Thanks, John. I think I have a few cycles to try that this week... err, John, we'd prefer to not rewrite the whole timer subsystem to fix one bug :( Heh, that's kind of unfair to John, as this bug wasn't his motivation for rewriting it; he's just taking care that his rewrite doesn't have the bug. But yeah, it would be great to have the bug fixed in the short term within the current timer subsystem... Andrew: I too would prefer not to have to re-write timekeeping to fix one bug. :) This bug actually is *one* of the motivating forces, because it illustrates a core problem with the tick based timekeeping. When ticks are missed we lose time. We've "fixed" that issue with the lost tick compensation code, which helps but doesn't really fix the problem, and in this case, creates new problems where multiple ticks show up very late, but are not lost (common in virtualization). I do realize that my patches feel like more then a heavy weight bug fix, and I've been working to break them up and re-work bits as needed. But I really felt it was necessary to first find a solution that would be correct in all of these odd cases. And hey, if someone can find a quick staplegun fix for this that doesn't break something else, that would be great. Tim: Did you ever get a chance to verify that the issue is cleared up with my timeofday patchset? If not, I should be releasing a new B9 version against -mm today or tomorrow. I expect the issue should go away, but I just really want to be sure. Thanks! The new timekeeping code in 2.6.18-rc1 should resolve this issue. Please re-open if the problem still exists. Can anyone please point me to the relevant commits in Linus' tree? I guess 734efb467b31e56c2f9430590a9aa867ecf3eea1 is the start of it. With 5d0cf410e94b1f1ff852c3f210d22cc6c5a27ffa providing the initial i386 clocksources. |