Messages in this thread | | | Subject | Re: [PATCH] sched_clock: Provide local_clock() and improve documentation | From | Peter Zijlstra <> | Date | Fri, 28 May 2010 17:08:32 +0200 |
| |
On Fri, 2010-05-28 at 15:42 +0200, Johannes Stezenbach wrote: > On Fri, May 28, 2010 at 03:13:34PM +0200, Peter Zijlstra wrote: > > + * The !IRQ-safetly of sched_clock() and sched_clock_cpu() comes from things > > typo ^ > > Thank you for adding documentation. I have one additional > question regarding wrapping of sched_clock(). I know it is > used for timestamps in ftrace and printk, so it's desirable > that it never wraps. But on several embedded systems > it wraps after a few hours. Bug or just a minor flaw? > If someone knows it would be nice to get that documented, too.
The scheduler assumes it wraps at u64, however since we mostly use it to compute a time deltas it mostly works, even when it wraps sooner, its just that we get large jumps once in a while when it does wraps, due to (s64)(new - old) not ending up being a proper s64.
If you have CONFIG_HAVE_UNSTABLE_SCHED_CLOCK, these jumps will be filtered out and polished over.
| |