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

From: Andrew Morton
Date: Wed Feb 15 2006 - 22:10:49 EST


Paul Mackerras <paulus@xxxxxxxxx> wrote:
>
> > Can we share that code?
>
> We could share the code that computes time_adjust_step, i.e. this
> much:
>
> if ((time_adjust_step = time_adjust) != 0) {
> /*
> * We are doing an adjtime thing. Prepare time_adjust_step to
> * be within bounds. Note that a positive time_adjust means we
> * want the clock to run faster.
> *
> * 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);
> }
>

And the next line!

> Is that enough to be worth factoring out? Note that
> update_wall_time_one_tick() needs both time_adjust_step and
> delta_nsec, so to share more, we would have to have a function
> returning two values and it would start to get ugly.
>

update_wall_time_one_tick() gets:

long delta_nsec = new_function();

and your new function becomes

return (u64)new_function() << (SHIFT_SCALE - 10)) + time_adj;


-
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/