public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
From: Laurent Georget <laurent.georget@supelec.fr>
To: linux-man <linux-man@vger.kernel.org>
Cc: linux-kernel@vger.kernel.org, Jeff Epler <jepler@unpythonic.net>,
	Richard Cochran <richardcochran@gmail.com>
Subject: [PATCH 1/2] adjtimex.2: Clarify the 'ppm scaling' used in struct timex
Date: Sat, 03 Jan 2015 00:01:52 +0100	[thread overview]
Message-ID: <54A72360.3070807@supelec.fr> (raw)
In-Reply-To: <54A2DEAD.2050708@supelec.fr>

[-- Attachment #1: Type: text/plain, Size: 2794 bytes --]

Hi,

this is the last version of a new series of patchs for adjtimex.2.
Please ignore all previous versions of this series.

This patch makes explicit and clarifies the unit used for fields "freq", "ppsfreq" and "stabil" in struct timex.
It closes a FIXME in the man page.

Reviewed-By: Jeff Epler <jepler@unpythonic.net>

---
 man2/adjtimex.2 | 21 ++++++++++++++++-----
 1 file changed, 16 insertions(+), 5 deletions(-)

diff --git a/man2/adjtimex.2 b/man2/adjtimex.2
index 18823c8..ff4b23e 100644
--- a/man2/adjtimex.2
+++ b/man2/adjtimex.2
@@ -54,9 +54,8 @@ struct timex {
     long offset;      /* Time offset; nanoseconds, if STA_NANO
                          status flag is set, otherwise
                          microseconds */
-    long freq;        /* Frequency offset, as scaled PPM
-                         (parts per million) */
-.\" FIXME What is the scaling unit of timex.freq?  2^16 ?
+    long freq;        /* Frequency offset, in units of 2^-16 PPM
+                         (parts per million) (see NOTES below) */
     long maxerror;    /* Maximum error (microseconds) */
     long esterror;    /* Estimated error (microseconds) */
     int  status;      /* Clock command/status */
@@ -72,13 +71,13 @@ struct timex {
                          flag is set, otherwise microseconds */
     long tick;        /* Microseconds between clock ticks */
     long ppsfreq;     /* PPS (pulse per second) frequency
-                         (scaled PPM, read-only) */
+                         (2^-16 PPM (see NOTES), read-only) */
     long jitter;      /* PPS jitter (read-only); nanoseconds, if
                          STA_NANO status flag is set, otherwise
                          microseconds */
     int  shift;       /* PPS interval duration
                          (seconds, read-only) */
-    long stabil;      /* PPS stability (scaled PPM, read-only) */
+    long stabil;      /* PPS stability (2^-16 PPM (see NOTES), read-only) */
     long jitcnt;      /* PPS jitter limit exceeded (read-only) */
     long calcnt;      /* PPS calibration intervals (read-only) */
     long errcnt;      /* PPS calibration errors (read-only) */
@@ -343,6 +342,18 @@ and the caller does not have sufficient privilege.
 Under Linux, the
 .B CAP_SYS_TIME
 capability is required.
+.SH NOTES
+In struct
+.IR timex ,
+.IR freq ,
+.IR ppsfreq ,
+and 
+.I stabil
+are PPM (parts per million) with a 16-bits fractional part, which means that a
+value of 1 in one of those fields actually means 2^-16 PPM, and 2^16=65535 is 
+1 PPM. This is the case for both input values (in the case of
+.IR freq )
+and output values.
 .SH CONFORMING TO
 .BR adjtimex ()
 is Linux-specific and should not be used in programs
-- 
2.0.4



[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 213 bytes --]

  parent reply	other threads:[~2015-01-02 23:02 UTC|newest]

Thread overview: 13+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-12-30 17:19 [PATCH] adjtimex.2: Add details about ADJ_FREQUENCY Laurent Georget
2014-12-30 18:05 ` Richard Cochran
2014-12-30 18:47   ` Laurent Georget
2015-01-02  2:41 ` [PATCH] adjtimex: PPM scaling is by 2^-16 Jeff Epler
2015-01-02  6:29   ` Richard Cochran
2015-01-02 16:39     ` Laurent Georget
2015-01-02 18:51       ` Richard Cochran
2015-01-02 21:15       ` Jeff Epler
2015-01-02 22:48         ` Laurent Georget
2015-01-02 23:01 ` Laurent Georget [this message]
2015-01-02 23:07   ` [PATCH 2/2] adjtimex.2: Change 'PPM' (parts per million) to 'ppm' Laurent Georget
2015-01-06 15:20     ` Michael Kerrisk (man-pages)
2015-01-06 15:19   ` [PATCH 1/2] adjtimex.2: Clarify the 'ppm scaling' used in struct timex Michael Kerrisk (man-pages)

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=54A72360.3070807@supelec.fr \
    --to=laurent.georget@supelec.fr \
    --cc=jepler@unpythonic.net \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-man@vger.kernel.org \
    --cc=richardcochran@gmail.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox