Re: [PATCH] time: Provide full featured jiffies_to_nsecs() function

From: Steven Rostedt
Date: Fri May 16 2014 - 15:02:22 EST


On Fri, 16 May 2014 17:17:46 +0000
"Luck, Tony" <tony.luck@xxxxxxxxx> 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

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/