Replied: Fri, 22 May 1998 16:42:39 -0400
Replied: "Per Hedeland <per@erix.ericsson.se> "
Received: from mail.eecis.udel.edu by whimsy.udel.edu id aa00535;
          22 May 1998 15:43 EDT
Received: from super.du.etx.ericsson.se (per@super.du.etx.ericsson.se [150.236.14.16]) by penguin.wise.edt.ericsson.se (8.7.5/8.7.3/penguin-1.12) with ESMTP id VAA23895 for <stenn@whimsy.udel.edu>; Fri, 22 May 1998 21:42:37 +0200 (MET DST)
Received: (from per@localhost)
	by super.du.etx.ericsson.se (8.9.0/8.9.0/erix-1.4) id VAA06128
	for stenn@whimsy.udel.edu; Fri, 22 May 1998 21:42:37 +0200 (MET DST)
Date: Fri, 22 May 1998 21:42:37 +0200 (MET DST)
From: Per Hedeland <per@erix.ericsson.se>
Message-Id: <199805221942.VAA06128@super.du.etx.ericsson.se>
To: stenn@whimsy.udel.edu
Subject: Re: xntp3-5.93 has been released.

Hi again,

3-5.93c seems to compile:-) and work just fine with the PPS support in
Solaris 2.6 now (I posted about it to the newsgroup), I just have a
final suggestion: .93 cleverly avoids the kernel PLL "support" in 2.6
which is fine, unfortunately it seems pretty clear that the same problem
exists in 2.7, and I think it would be nice if xntp 3.x "survived" that,
thus the little patch below.

Solaris 2.7 has been in beta for a while now, and while I haven't had
the opportunity to try it out myself, I received (indirectly via a guy
at Sun in Sweden) this info about the PLL problem, from Jan Brittenson
at Sun (one of the authors of the "standard PPS API" draft):

-----------------
Yes, the problem is that the interface has to be slightly different in
Solaris, since we have a variable clock rate.  Most other system have
a hard-coded clock rate, which means they can use shift counts; we
have to use scaling factors (e.g. "32" instead of "4").  Some very
minor changes are necessary to xntpd to work properly on Solaris, but
I haven't had the opportunity to send these back to Dave Mills.  This,
in addition to tickling a bug which we'll fix in 2.7, makes the kernel
PLL appear to behave rather strangely with an xntpd without the right
modifications.
-----------------

I.e. while *something* will be fixed in 2.7, modifications to xntpd are
also needed, and it seems unlikely to me that these will manage to find
their way into 3.x - if you disagree, you can of course ignore the
patch, but otherwise I think it makes sense - at least 3.x will then
(hopefully:-) work no worse on 2.7 than on 2.6.

--Per

*** configure.in.ORIG	Wed May  6 20:02:53 1998
--- configure.in	Fri May 22 21:32:11 1998
***************
*** 1002,1013 ****
  
  AC_CACHE_CHECK(if we have kernel PLL support, ac_cv_var_kernel_pll,
  [dnl ac_cv_var_ntp_syscalls is {no,libc,kernel}
  case "$ac_cv_header_sys_timex_h$ac_cv_var_sta_fll$ac_cv_var_ntp_syscalls" in
   *no*)
      ac_cv_var_kernel_pll=no
      ;;
   *) case "$target" in
!      *-*-solaris2.6)
  	# Broken...
  	ac_cv_var_kernel_pll=no
  	;;
--- 1002,1014 ----
  
  AC_CACHE_CHECK(if we have kernel PLL support, ac_cv_var_kernel_pll,
  [dnl ac_cv_var_ntp_syscalls is {no,libc,kernel}
+ changequote(<<, >>)dnl
  case "$ac_cv_header_sys_timex_h$ac_cv_var_sta_fll$ac_cv_var_ntp_syscalls" in
   *no*)
      ac_cv_var_kernel_pll=no
      ;;
   *) case "$target" in
!      *-*-solaris2.[67])
  	# Broken...
  	ac_cv_var_kernel_pll=no
  	;;
***************
*** 1015,1021 ****
  	;;
      esac
      ;;
! esac])
  case "$ac_cv_var_kernel_pll" in
   yes)
      AC_DEFINE(KERNEL_PLL)
--- 1016,1024 ----
  	;;
      esac
      ;;
!  esac
! changequote([, ])dnl
! ])
  case "$ac_cv_var_kernel_pll" in
   yes)
      AC_DEFINE(KERNEL_PLL)
