Ulrich Windl writes in linux-kernel:
Hello I’m happy to let this off:
PPSkit-0.6.0 for Linux-2.2.5 has been released! This new kit
features nanosecond time resolution (at least in theory) as well as
new NTP kernel routines. The performance seems interesting enough.
See the plots found in nanotest.tgz!
Unfortunately it seems “pcphy4” is down this morning, and I
can’t physically reach it. Head for linux.kernel.org instead.
So here’s the NEWS:
- Updated BUGS about the “mysterious jitter” effect. Updated
patch for Linux-2.2.5 after extensive debugging runs. Several tests
passed without problems. - “adjtimex()” accepts any offset for “MOD_OFFSET”, but
“hardupdate()” will clamp the offsets. - Fixed bug with possibly persistent “TIME_ERROR” in
“adjtimex()”. Moved time functions that are not architecture
dependent to common “kernel/time.c”. - Added nanosecond time resolution (at least for i386
architecture). - Fixed problem in “arch/i386/kernel/time.c” when
“CONFIG_X86_TSC” was defined, but the processor was buggy
(uninitialized variables would be used then). - Major cleanups with renaming: instead of calling
“get_fast_time()” you are expected to use “get_exact_time()”
now (the “fast” version wasn’t faster than the “normal”
version). Likewise the “slow” versions are called “poor” now.
To avoid future confusion, “[get]timeoffset” has been renamed to
“microtime”, because it returns microsecods. Funtions returning
nanoseconds will have “nanotime” instead. “” won’t include “”
any longer; only “” will be included. “” will only include the
NTP interface stuff. - Updated serial driver to use “do_clock_gettime()”. Fixed
memory leak associated with “CIOGETEV”. - Added new POSIX.4 compatible functions “do_clock_gettime()”,
“do_clock_settime()”, and “do_clock_getres()” that deal with
nanoseconds. Several related cleanups. - Merged the new “nanokernel” stuff into “kernel/time.c”
(took over 4 hours without being complete). Several cleanups and
changes done. - Merged the new “nanokernel” stuff into “”. As some new bit
definitions clash with older Linux extensions, the latter had to be
relocated. This will definitely break binary compatibility
(“adjtime()” is affected), so that I’ll possibly clean up all the
old mess. “” is purely for “adjtimex()” now. - Updated “INSTALL” about xntp. Updated “enable_pps.c” to
support new nanokernel. Added several new options. Completely
rewritten logic.
To complete it, here’s an LSM entry:
Begin3 Title: PPSkit Version: 0.6.0 Entered-date: 1999-04-07 Description: kernel time patch for NTP (RFC1305) and PPS support (RFC1589) against Linux 2.2.5+ (kernel patch, documentation, test programs) Keywords: NTP, PPS, kernel, RFC1305, RFC1589, xntp, time, clock, pulse-per-second, synchronization, calibration, adjtimex, nanoseconds, POSIX.4, nanokernel Author: [email protected] (Ulrich Windl) Maintained-by: [email protected] (Ulrich Windl) Primary-site: linux.kernel.org /pub/linux/daemons/ntp/PPS 75kB PPSkit-0.6.0.tar.gz Alternate-site: Original-site: pcphy4.physik.uni-regensburg.de /pub/wiu09524/PPS PPSkit-0.6.0.tar.gz Platform: RS232-compatible precision pulse-per-second with an error less than 500PPM (0.0005%, 0.5ms) Copying-policy: GPL, but payment welcome! End
As a special note: I broke the sparc clock due to my lack of
assembly knowledge for the SPARC. In general, all architectures
other than i386 and more exotic subsystems and drivers may be
broken. After all it’s a “dot zero” release. Enjoy anyway!
Regards,
Ulrich