Re: [Patch 1/8] Setup

Thomas Gleixner
2006-05-09T09:46:28Z

On Tue, 2006-05-02 at 11:42 +0530, Balbir Singh wrote:
> /*
> + * sub = end - start, in normalized form
> + */
> +static inline void timespec_sub(struct timespec *start, struct timespec *end,
> + struct timespec *sub)
> +{
> + set_normalized_timespec(sub, end->tv_sec - start->tv_sec,
> + end->tv_nsec - start->tv_nsec);
> +}

Please use the existing ktime_t functions for that purpose. The ktime_t
format has nanosecond resolution and is optimized for 32/64bit machines.

> +static inline void delayacct_start(struct timespec *start)
> +{
> + do_posix_clock_monotonic_gettime(start);
> +}

Please get rid of this wrapper and use the ktime based functions for
that.

> +/*
> + * Finish delay accounting for a statistic using
> + * its timestamps (@start, @end), accumalator (@total) and @count
> + */
> +
> +static inline void delayacct_end(struct timespec *start, struct timespec *end,
> + u64 *total, u32 *count)

Please use ktime_t for total.

> +{
> + struct timespec ts = {0, 0};
> + s64 ns;
> +
> + do_posix_clock_monotonic_gettime(end);
> + timespec_sub(&ts, start, end);
> + ns = timespec_to_ns(&ts);
> + if (ns < 0)
> + return;

monotonic time is monotonic increasing. So delta is always >= 0 !

tglx