Re: [PATCHv3 13/16] pps: capture MONOTONIC_RAW timestamps as well

From: Alexander Gordeev
Date: Thu Aug 05 2010 - 08:29:47 EST


Ð Wed, 4 Aug 2010 16:29:07 -0700
Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> ÐÐÑÐÑ:

> On Thu, 5 Aug 2010 01:06:50 +0400
> Alexander Gordeev <lasaine@xxxxxxxxxxxxx> wrote:
>
> > --- a/kernel/time/timekeeping.c
> > +++ b/kernel/time/timekeeping.c
> > @@ -286,6 +286,40 @@ void ktime_get_ts(struct timespec *ts)
> > EXPORT_SYMBOL_GPL(ktime_get_ts);
> >
> > /**
> > + * getnstime_raw_and_real - Returns both the time of day an raw
> > + * monotonic time in a timespec format
> > + * @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(timekeeping_suspended);
>
> I suspect that if this warning ever triggers, it'll trigger at some
> high frequency making a complete mess all over the floor.
>
> WARN_ON_ONCE, perhaps? Or just remove it?

Well, getnstime_raw_and_real() is actually just a merge of
getnstimeofday() and getrawmonotonic(). The warning came from
getnstimeofday(). Usually this code should be called once a second but
the frequency can be higher. IMHO other functions like getnstimeofday()
and ktime_get_ts() would be a bigger problem anyway because they have
the same checks.

So I'm ok with either choice.
Hmm, will use WARN_ON_ONCE then if nobody objects.

--
Alexander

Attachment: signature.asc
Description: PGP signature