Re: Problem with kernel-pll in 2.0.3x (at least)

J.S.Peatfield@damtp.cam.ac.uk
Fri, 1 May 1998 00:10:29 +0100


The following patch to timex.h works for me (so far), I've only been running
with it for 20 mins so far. xntpd has swung the clock 254ppm so far!

# diff -c3 include/linux/timex.h{.orig,}
*** include/linux/timex.h.orig Fri Nov 7 18:06:21 1997
--- include/linux/timex.h Thu Apr 30 23:29:49 1998
***************
*** 44,49 ****
--- 44,50 ----
#ifndef _LINUX_TIMEX_H
#define _LINUX_TIMEX_H

+ #include <linux/param.h>
/*
* The following defines establish the engineering parameters of the PLL
* model. The HZ variable establishes the timer interrupt frequency, 100 Hz
***************
*** 93,99 ****
#define FINEUSEC (1L << SHIFT_SCALE) /* 1 us in phase units */

#define MAXPHASE 512000L /* max phase error (us) */
! #define MAXFREQ (200L << SHIFT_USEC) /* max frequency error (ppm) */
#define MAXTIME (200L << PPS_AVG) /* max PPS error (jitter) (200 us) */
#define MINSEC 16L /* min interval between updates (s) */
#define MAXSEC 1200L /* max interval between updates (s) */
--- 94,100 ----
#define FINEUSEC (1L << SHIFT_SCALE) /* 1 us in phase units */

#define MAXPHASE 512000L /* max phase error (us) */
! #define MAXFREQ ((HZ * 2L) << SHIFT_USEC) /* max frequency error (ppm) */
#define MAXTIME (200L << PPS_AVG) /* max PPS error (jitter) (200 us) */
#define MINSEC 16L /* min interval between updates (s) */
#define MAXSEC 1200L /* max interval between updates (s) */

The include of param.h is just so I know that HZ is defined. With this
patch npttime reports the tolerance and stability as 2048ppm, I don't
know if this is bad, but it certainly increased MAXFREQ to a reasonable
point.

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.rutgers.edu