On Thu, Jun 05, 2003 at 10:48:52AM +0200, Ralf Baechle wrote: > On Thu, Jun 05, 2003 at 09:09:05AM +0100, Dominic Sweetman wrote: > > > A naive network synchronisation protocol - analogous to your first > > proposal - would leave clocks differing by a network round-trip time > > or so: but NTP does a lot better. So in principle you should be able > > to scale NTP to create a clock synchronised within some fraction of > > the time taken by a CPU-to-CPU communication... but compressing the > > essence of the NTP protocol into something which runs fast enough > > might be interesting! > > > > My 5-minutes-over-breakfast feeling is that you should be able to > > figure out a way to get time right enough; try reading up how NTP > > works and see whether it can be made to work? > > Yes, already been thinking about that. The essence of NTP is a software > implementation of a phase locked loop. The full NTP protocol is way to > heavy of course but the subset we're talking about would be rather > lightweight. I'd expect the phase noise to be in the low ppb range, > little problems with unlocking. And it'll be usable for arbitrary > combinations of clock frequencies. So an approach to try. > OK, I think you all convinced me that it is probably not a good idea to do the synchronized CPU count registers, at least not until we take a look of some alternatives. > Enjoy your breakfast :-) > What are you eating? I probably should have that when I was thinking about this RFC. :) In response to some other replies: 1) yes, it is always possible to use some external system-wide timer source, if available, to solve this problem. However, that could get tricky too, and I wanted to do something generic which is hopefully applicable to more systems. 2) at least from my perspective, I see increasing demand for high resolution timers that has monotonicity in both kernel space and user space. Jun