Re: [PATCHv5 14/17] pps: capture MONOTONIC_RAW timestamps as well

Thomas Gleixner
2010-11-24T16:50:58Z

On Wed, 24 Nov 2010, Alexander Gordeev wrote:
> /**
> + * getnstime_raw_and_real - Returns both the time of day an raw
> + * monotonic time in a timespec format

IIRC then kerneldoc does not handle multiline comments for the
function name

> + * @ts_mono_raw: pointer to the timespec to be set to raw
> + * monotonic time
> + * @ts_real: pointer to the timespec to be set to the time
> + * of day
> + */
> +void getnstime_raw_and_real(struct timespec *ts_raw, struct timespec *ts_real)
> +{
> + unsigned long seq;
> + s64 nsecs_raw, nsecs_real;
> +
> + WARN_ON_ONCE(timekeeping_suspended);

Shouldn't this just return an error code instead of reading some
stale or random value ?

> + do {
> + u32 arch_offset;
> +
> + seq = read_seqbegin(&xtime_lock);
> +
> + *ts_raw = raw_time;
> + *ts_real = xtime;
> +
> + nsecs_raw = timekeeping_get_ns_raw();
> + nsecs_real = timekeeping_get_ns();
> +
> + /* If arch requires, add in gettimeoffset() */
> + arch_offset = arch_gettimeoffset();
> + nsecs_raw += arch_offset;
> + nsecs_real += arch_offset;
> +
> + } while (read_seqretry(&xtime_lock, seq));
> +
> + timespec_add_ns(ts_raw, nsecs_raw);
> + timespec_add_ns(ts_real, nsecs_real);
> +}
> +EXPORT_SYMBOL(getnstime_raw_and_real);

Otherwise, I'm fine with that.

Thanks,

tglx