announce (experimental): Linux-2.4.7(i386/SMP) add-on for PPSkit

Ulrich Windl (wiu09524@rrzc5.rz.uni-regensburg.de)
14 Aug 2001 13:47:49 +0200


The following message is a courtesy copy of an article
that has been posted to comp.protocols.time.ntp as well.

Hi,

I've just uploaded an incremental patch (cpuinfo.tar.bz2, 2kB) for the last
experimental PPSkit patch based on Linux-2.4.7 (PPSkit-CVS-2.4.7.bz2).

The stuff lives in ftp.kernel.org:/pub/linux/daemons/ntp/PPS...

In preparation for a smoother time on SMP machines, I've moved the
global scaling factors to convert TSC values to nanoseconds into
struct cpuinfo_x86. So a plain application could now scale TSC values
to absolute time with (almost) no kernel overhead.

The new variables are vnsec_per_cycle and nsec_per cycle. The first is
"virtual time" (as wrong as the board frequency), the latter is
"scaled" to the correct value (e.g. when ntpd updates the kernel's
frequency correction).

What you could do for me is to check if the fields are set for all the
CPUs on a SMP machine. As far as I understood the code, the boot CPU's
values should be copied to the individual CPU's info structures.

The code doesn't perform any better as the code before, but once
having a state per CPU, I can add some more magic. I'd be interested
if someone has an SMP machine to try things.

Also, merging the change to all the other arhitectures is a
significant chunk of work. I wonder if I should try it at all, or if
I'd just continue the i386.

In the past very few people sent feedback for the Alpha, so I have no
clear idea how many people use or like the code.

If you are new to these things and interested in the stuff, get
PPSkit-2.0.0 (at the same location) and read the NTP-FAQ
(http://www.ntp.org/ntpfaq/NTP-a-faq.htm) section ``6.2.4. PPS
Synchronization''.

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