Thread (56 messages) read the whole thread 56 messages, 12 authors, 2010-09-22

Re: [PATCH 1/5] ptp: Added a brand new class driver for ptp clocks.

From: John Stultz <hidden>
Date: 2010-08-27 20:56:17
Also in: linux-arm-kernel, linux-devicetree, lkml, netdev

On Fri, 2010-08-27 at 14:03 +0200, Arnd Bergmann wrote:
On Friday 27 August 2010, Richard Cochran wrote:
quoted
On Mon, Aug 23, 2010 at 01:21:39PM -0700, john stultz wrote:
quoted
On Thu, 2010-08-19 at 17:38 +0200, Richard Cochran wrote:
quoted
On Thu, Aug 19, 2010 at 02:28:04PM +0200, Arnd Bergmann wrote:
quoted
Have you considered passing a struct timex instead of ppb and ts?
Yes, but the timex is not suitable, IMHO.
Could you expand on this?
We need to able to specify that the call is for a PTP clock. We could
add that to the modes flag, like this:

/*timex.h*/
#define ADJ_PTP_0 0x10000
#define ADJ_PTP_1 0x20000
#define ADJ_PTP_2 0x30000
#define ADJ_PTP_3 0x40000

I can live with this, if everyone else can, too.
My suggestion was actually to have a new syscall with the existing
structure, and pass a clockid_t value to it, similar to your
sys_clock_adjtime(), not change the actual sys_adjtime syscall.
  
quoted
quoted
Could we not add a adjustment mode ADJ_SETOFFSET or something that would
provide the instantaneous offset correction?
Yes, but we would also need to add a struct timespec to the struct
timex, in order to get nanosecond resolution. I think it would be
possible to do in the padding at the end?
Yes, that's exactly what the padding is for. Instead of timespec, you can
probably have a extra values for replacing the existing ppm values with
ppb values.
Right, although the ppm/ppb issue shouldn't be a problem as the timex
allows for much finer then ppb resolution changes.

The only adjustment to the adjtimex/timex interface that may be needed
is the ability to set the time by an offset (ie: ADJ_SETOFFSET), rather
then slewing the offset in (ADJ_OFFSET, or ADJ_OFFSET_SINGLESHOT).

This avoids the calc offset, gettime(&now), settime(now+offset) method
where any latency between the gettime and settime adds to the error.

thanks
-john




thanks
-john
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help