2014-12-30 17:30:22

by Laurent Georget

[permalink] [raw]
Subject: [PATCH] adjtimex.2: Add details about ADJ_FREQUENCY

Hi,

this is another patch for adjtimex(2) man page which fixes a FIXME by
giving the scaling unit of timex.freq and adds a detail about the value
expected by ADJ_FREQUENCY.

Laurent

diff --git a/man2/adjtimex.2 b/man2/adjtimex.2
index 18823c8..2652fc6 100644
--- a/man2/adjtimex.2
+++ b/man2/adjtimex.2
@@ -55,8 +55,8 @@ struct timex {
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 ?
+ (parts per million) :
+ the scaling unit of timex.freq is 2^16 usec =
1000*2^16 nsec.
long maxerror; /* Maximum error (microseconds) */
long esterror; /* Estimated error (microseconds) */
int status; /* Clock command/status */
@@ -106,6 +106,10 @@ Set time offset from
.BR ADJ_FREQUENCY
Set frequency offset from
.IR buf.freq .
+The clock frequency must be comprised between -500000 and 500000 scaled
ns/s.
+If the given value is outside those bounds, it is silently truncated. This
+corresponds to values between -32768000 and 32768000 for
+.IR buf.freq .
.TP
.BR ADJ_MAXERROR
Set maximum time error from


Attachments:
signature.asc (213.00 B)
OpenPGP digital signature

2014-12-30 18:05:56

by Richard Cochran

[permalink] [raw]
Subject: Re: [PATCH] adjtimex.2: Add details about ADJ_FREQUENCY

On Tue, Dec 30, 2014 at 06:19:41PM +0100, Laurent Georget wrote:
> Hi,
>
> this is another patch for adjtimex(2) man page which fixes a FIXME by
> giving the scaling unit of timex.freq and adds a detail about the value
> expected by ADJ_FREQUENCY.
>
> Laurent
>
> diff --git a/man2/adjtimex.2 b/man2/adjtimex.2
> index 18823c8..2652fc6 100644
> --- a/man2/adjtimex.2
> +++ b/man2/adjtimex.2
> @@ -55,8 +55,8 @@ struct timex {
> 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 ?

Your text sounds funny and seems unclear to me. How about something
more like this:

long freq /* Frequency offset in PPM with a 16 bit
factional field */

> + (parts per million) :
> + the scaling unit of timex.freq is 2^16 usec =
> 1000*2^16 nsec.

Your mailer is wrapping lines here ...

> long maxerror; /* Maximum error (microseconds) */
> long esterror; /* Estimated error (microseconds) */
> int status; /* Clock command/status */
> @@ -106,6 +106,10 @@ Set time offset from
> .BR ADJ_FREQUENCY
> Set frequency offset from
> .IR buf.freq .
> +The clock frequency must be comprised between -500000 and 500000 scaled
> ns/s.

and here.

The phrase "must be comprised" does not make any sense in this
context. How about this instead?

The allowed frequency range is -500 PPM to +500 PPM.

> +If the given value is outside those bounds, it is silently truncated. This
> +corresponds to values between -32768000 and 32768000 for
> +.IR buf.freq .
> .TP
> .BR ADJ_MAXERROR
> Set maximum time error from
>

2014-12-30 18:47:43

by Laurent Georget

[permalink] [raw]
Subject: Re: [PATCH] adjtimex.2: Add details about ADJ_FREQUENCY

Hi again,

Le 30/12/2014 19:05, Richard Cochran a ?crit :
>> diff --git a/man2/adjtimex.2 b/man2/adjtimex.2
>> index 18823c8..2652fc6 100644
>> --- a/man2/adjtimex.2
>> +++ b/man2/adjtimex.2
>> @@ -55,8 +55,8 @@ struct timex {
>> 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 ?
>
> Your text sounds funny and seems unclear to me. How about something
> more like this:
>
> long freq /* Frequency offset in PPM with a 16 bit
> factional field */
>

I tried to phrase it as in the FIXME, but of course, that may not be
the best thing to do. I'm not sure to understand what you mean however
in your corrected comment for freq.

>> + (parts per million) :
>> + the scaling unit of timex.freq is 2^16 usec =
>> 1000*2^16 nsec.
>

> Your mailer is wrapping lines here ...

Indeed, it wrapped at 80 characters. I fixed it. Sorry about that.

>
>> long maxerror; /* Maximum error (microseconds) */
>> long esterror; /* Estimated error (microseconds) */
>> int status; /* Clock command/status */
>> @@ -106,6 +106,10 @@ Set time offset from
>> .BR ADJ_FREQUENCY
>> Set frequency offset from
>> .IR buf.freq .
>> +The clock frequency must be comprised between -500000 and 500000 scaled
>> ns/s.
>
> and here.
>
> The phrase "must be comprised" does not make any sense in this
> context. How about this instead?
>
> The allowed frequency range is -500 PPM to +500 PPM.
>

Sorry for my poor english.
I have a doubt about the calculations here.
If I understand the code correctly (and I'd like to, as I'm using it)
the input value is scaled with SHIFT_USEC whereas MAXFREQ is not. So,
PPM is not exactly the same unit here and above (in struct timex). How
should we phrase that?

Thanks

Laurent


Attachments:
signature.asc (213.00 B)
OpenPGP digital signature