Messages in this thread |  | | Subject | announce (experimental): Linux-2.4.7(i386/SMP) add-on for PPSkit | From | Ulrich Windl <> | Date | 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/
|  |