Re: [PATCH v3 1/3] timekeeping: Add a fast and NMI safe boot clock

From: John Stultz
Date: Fri Jan 06 2017 - 19:49:04 EST


On Thu, Nov 24, 2016 at 12:20 PM, Joel Fernandes <joelaf@xxxxxxxxxx> wrote:
> This boot clock can be used as a tracing clock and will account for
> suspend time.
>
> To keep it NMI safe since we're accessing from tracing, we're not using a
> separate timekeeper with updates to monotonic clock and boot offset
> protected with seqlocks. This has the following minor side effects:
>
> (1) Its possible that a timestamp be taken after the boot offset is updated
> but before the timekeeper is updated. If this happens, the new boot offset
> is added to the old timekeeping making the clock appear to update slightly
> earlier:
> CPU 0 CPU 1
> timekeeping_inject_sleeptime64()
> __timekeeping_inject_sleeptime(tk, delta);
> timestamp();
> timekeeping_update(tk, TK_CLEAR_NTP...);
>
> (2) On 32-bit systems, the 64-bit boot offset (tk->offs_boot) may be
> partially updated. Since the tk->offs_boot update is a rare event, this
> should be a rare occurrence which postprocessing should be able to handle.
>
> Cc: Steven Rostedt <rostedt@xxxxxxxxxxx>
> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx>
> Cc: John Stultz <john.stultz@xxxxxxxxxx>
> Cc: Ingo Molnar <mingo@xxxxxxxxxx>
> Signed-off-by: Joel Fernandes <joelaf@xxxxxxxxxx>

Hey Joel,
Hope you had a good new years! I was queuing this up for testing,
and the patch set no longer applies (to v4.10-rc2). Can you respin it
and resend it?

thanks
-john