Messages in this thread | | | Date | Fri, 28 Oct 2011 08:05:35 +0200 | From | Richard Cochran <> | Subject | Re: [PATCH] time: Improve documentation of timekeeeping_adjust() |
| |
On Thu, Oct 27, 2011 at 06:12:42PM -0700, John Stultz wrote: > diff --git a/kernel/time/timekeeping.c b/kernel/time/timekeeping.c > index a5846a8..de8737e 100644 > --- a/kernel/time/timekeeping.c > +++ b/kernel/time/timekeeping.c > @@ -802,14 +802,44 @@ static void timekeeping_adjust(s64 offset) > s64 error, interval = timekeeper.cycle_interval; > int adj; > > + /* > + * The point of this is to check if the error is greater then half > + * an interval. > + * > + * First we shift it down from NTP_SHIFT to clocksource->shifted nsecs. > + * > + * Note we subtract one in the shift, so that error is really error*2. > + * This "saves" dividing(shifting) intererval twice, but keeps the > + * (error > interval) comparision as still measuring if error is > + * larger then half an interval. > + * > + * Note: It does not "save" on aggrivation when reading the code.
... or on "aggravation" either :)
Thanks, Richard
| |