Re: [RFC][PATCH 0/4] Fixes for two recently found timekeeping bugs

From: Ingo Molnar
Date: Sun May 28 2017 - 04:54:42 EST



* John Stultz <john.stultz@xxxxxxxxxx> wrote:

> On Sat, May 27, 2017 at 12:38 AM, Ingo Molnar <mingo@xxxxxxxxxx> wrote:
> >
> > * John Stultz <john.stultz@xxxxxxxxxx> wrote:
> >
> >> As part of the Linaro Linux Kernel Functional Test (LKFT)
> >> effort, test failures from kselftest/timer's
> >> inconsistency-check were reported connected to
> >> CLOCK_MONOTONIC_RAW, on the HiKey platform.
> >>
> >> Digging in I found that an old issue with how sub-ns accounting
> >> is handled with the RAW time which was fixed long ago with the
> >> CLOCK_MONOTONIC/REALTIME ids, but missed with RAW time, was
> >> present.
> >>
> >> Additionally, running further tests, I uncovered an issue with
> >> how the clocksource read function is handled when clocksources
> >> are changed, which can cause crashes.
> >>
> >> Both of these issues have not been uncovered in x86 based
> >> testing due to x86 not using vDSO to accelerate
> >> CLOCK_MONOTONIC_RAW, combined with the HiKey's arch_timer
> >> clocksource being fast to access but incrementing slowly enough
> >> to get multiple reads using the same counter value (which helps
> >> uncover time handing issues), along with the fact that none of
> >> the x86 clocksources making use of the clocksource argument
> >> passed to the read function.
> >>
> >> This patchset addresses these two issues.
> >
> > AFAICS only the first two patches are fixes, the other two patches are
> > cleanups/simplifications that resulted out of the debugging effort, right?
>
> Actually the first three are fixes (ARM64 still sees discontinuities
> until the vDSO is fixed), the last one is a cleanup.

Ok, please make it more apparent in the changelog of the third patch what user
observable mis-behavior is actually fixed by it: corrupted time, non-monotonic
time, or something else?

Thanks,

Ingo