Re: [PATCH] Provide an interface for getting the current ticklength

From: Paul Mackerras
Date: Wed Feb 15 2006 - 20:54:27 EST


Andrew Morton writes:

> > + if ((time_adjust_step = time_adjust) != 0 ) {
>
> <mutters something about coding style>

Seems perfectly plain to me, but if you don't like it I can change it.

>
> > + /*
> > + * Limit the amount of the step to be in the range
> > + * -tickadj .. +tickadj
> > + */
> > + time_adjust_step = min(time_adjust_step, (long)tickadj);
> > + time_adjust_step = max(time_adjust_step, (long)-tickadj);
> > + }
> > + delta_nsec = tick_nsec + time_adjust_step * 1000;
>
> Is that going to overflow if sizeof(long) == 4?

No. time_adjust_step is in microseconds and is restricted to the
range -tickadj .. tickadj, and tickadj is between 1 and 10 (assuming
HZ >= 50). tick_nsec is around 1e9 / HZ. There's no way delta_nsec
could end up less than 0 or larger than around 20 million for any
reasonable HZ value (i.e. >= 50).

Paul.
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/