diff options
| author | David Mosberger <davidm@napali.hpl.hp.com> | 2002-05-30 21:13:19 -0700 |
|---|---|---|
| committer | Linus Torvalds <torvalds@penguin.transmeta.com> | 2002-05-30 21:13:19 -0700 |
| commit | 9d64273c4f865c0a1cd76a3450a3d2bba8262e66 (patch) | |
| tree | 0286e16c76d2d5bd11e830069447bbad3e031b3c /include/linux | |
| parent | 5d29ce55d5707974efe74a9894b739bc374275d5 (diff) | |
[PATCH] time-offset patch
On ia64 MP machines, we use the cycle counter register of each CPU to
obtain fine-grained time-stamps. At boot-time, we synchronize the
counters as close as possible (similar to x86, though with a different
algorithm). But even with this synchronization, there is still a
small (really: tiny) chance that a process bouncing from one CPU to
another could observe time going backwards. To guard against this, I
maintain a global variable called "last_time_offset" which keeps track
of the largest time-interpolation value returned so far. Most of this
is in platform-specific code (arch/ia64/kernel/time.c), but there are
a handful of places in platform-independent code where this variable
needs to be cleared to zero. This is what the patch below does. I
didn't put it inside CONFIG_IA64 because I think this can be useful
for other platforms, too. I suppose I could put it inside CONFIG_SMP
though this would make the code uglier. If you think it's OK, please
apply, otherwise, I'd appreciate your feedback.
Diffstat (limited to 'include/linux')
0 files changed, 0 insertions, 0 deletions
