Messages in this thread | | | Date | Fri, 16 May 2014 15:02:10 -0400 | From | Steven Rostedt <> | Subject | Re: [PATCH] time: Provide full featured jiffies_to_nsecs() function |
| |
On Fri, 16 May 2014 17:17:46 +0000 "Luck, Tony" <tony.luck@intel.com> wrote:
> Is this function safe to call in every context (including NMI & machine check)? > [it uses read_seqcount_begin/read_seqcount_retry ... which I *think* is > safe ... but this stuff is tricky, so I'd like some reassurance].
No, read_seqcount_begin() is not safe in NMI context. If it interrupts a write, it goes into an infinite spin (see __read_seqcount_begin()).
> > Mauro, Steven: Did we just do math on jiffies because we wanted less overhead > in a tracepoint?
As I meantioned. read_seqcount_begin() is not safe for tracing, it had to be reimplemented.
-- Steve
> > Bigger question (mostly for Mauro) ... what was the motivation for the "uptime" > tracer to begin with? The rasdaemon code that is using it converts the times > from traces into absolute times (by adding an offset it computes by comparing > uptime and gettimeofday() when it starts). But this would seem to be fraught > with problems: > 1) Do we get this right for events that happen in daylight saving time shift windows? > 2) Is there a "drift" problem for systems that stay up for months and rely on ntp > to keep wall clock time in line with reality? > > -Tony
| |