On Mon, Nov 22, 2021 at 01:13:24PM -0800, Peter Oskolkov wrote: > + * Timestamp: a 46-bit CLOCK_MONOTONIC timestamp, at 16ns resolution. > +static int umcg_update_state(u64 __user *state_ts, u64 *expected, u64 desired, > + bool may_fault) > +{ > + u64 curr_ts = (*expected) >> (64 - UMCG_STATE_TIMESTAMP_BITS); > + u64 next_ts = ktime_get_ns() >> UMCG_STATE_TIMESTAMP_GRANULARITY; I'm still very hesitant to use ktime (fear the HPET); but I suppose it makes sense to use a time base that's accessible to userspace. Was MONOTONIC_RAW considered?