Question on timekeeping subsystem

From: Francis Moreau
Date: Wed Feb 13 2008 - 09:02:26 EST


Hello,

I looked at this subsystem, trying to understand how this works on Linux
but call me a dumb xxx but I think I really miss something.

First I tried to find some documentation on the current implementation
but haven't found any thing really usefull. Specially there's nothing about
it in Documentation/ directory. Please correct me if I'm already wrong.

Actually I read the implementation of update_wall_time() and I really fail
to understand how it works. This is probably because I don't know
what "xtime_nsec" and "error" fields in clocksource struct are for.
These fields are not documented anywhere in the source code so it
should be obvious but unfortunately not for me.

Another example almost the first thing done by this function is:

clock->xtime_nsec += (s64)xtime.tv_nsec << clock->shift;

What's the hell this ?

I know I'm stupid but please enlight me ;)

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