hi Tglx, > But for the above scenario: > > ktime_get() > do { > seq = read_seqcount_begin(&tk_core.seq); > base = tk->tkr_mono.base; > nsecs = timekeeping_get_ns(&tk->tkr_mono); > > } while (read_seqcount_retry(&tk_core.seq, seq)); > > So if the interrupt which updates the timekeeper hits in the middle of > timekeeping_get_ns() then the result is discarded because the sequence > count changed and read_seqcount_retry() returns true. So it takes another > round which will be perfectly aligned with the updated time keeper. > Do you mean to say the timekeeper updates always happen from ktime_get? My point was, when one thread is in ktime_get other thread/isr updates timekeeper from different flow. Regards, Arul