[ntp:questions] A proposal to use NIC launch time support to improve NTP

Brian Utterback brian.utterback at oracle.com
Wed Dec 19 22:52:16 UTC 2012

On 12/19/12 16:49, Brian Utterback wrote:
> Generally, the PPS signal does not go over the PCI bus. The kernel 
> gets its PPS signal via the serial port. You would therefore like the 
> controller to have its own PPS signal input, but I don't see one in 
> the datasheet.
> So you are back to worrying about the sync of the kernel clock and the 
> controller clock. It might not matter too much, but it will kind of 
> depend on how the receive timestamp is obtained from the card. The 
> receive timestamp and transmit timestamp have got to be on the same 
> time source or you could run into problems.
> Brian
Actually, the controller does have the equivalent of a PPS input. There 
is a provision for detecting a level change on a single input line. The 
controller timestamp of the level change is stored in a register. The 
driver can read the register and if it knows what the timestamp should 
have been when that signal came in, it can calculate the offset. There 
is then a register that it can write the offset to, which results in the 
controller adjusting its clock by that amount.

There is also a facility in the controller to generate a periodic clock 
based signal. Pretty nifty all told, if the driver makes use of it.


Always code as if the guy who ends up maintaining your code will be a
violent psychopath who knows where you live. - Martin Golding
Brian Utterback - Solaris RPE, Oracle Corporation.
Ph:603-262-3916, Em:brian.utterback at oracle.com

More information about the questions mailing list