Miroslav Lichvar
6ca73bf670
Cleanup including of system headers
2013-06-14 13:41:16 +02:00
Miroslav Lichvar
359d444343
Remove unncessary return statements
2013-05-21 15:08:34 +02:00
Miroslav Lichvar
0c738d84af
Update copyright years
2012-02-28 13:11:56 +01:00
Miroslav Lichvar
d4ce3f19c3
Reschedule fast slew timeout on offset change
2012-02-24 16:26:53 +01:00
Miroslav Lichvar
1b8deaf354
Control offset correction rate in Linux driver
...
The kernel currently doesn't support a linear adjustment with
programmable rate, extend the use of the kernel PLL with locked
frequency instead.
Set the PLL time constant according to the correction time corresponding
to the correction rate and corrected offset.
On kernels with nano PLL adjtime() is no longer used.
2011-11-15 12:30:59 +01:00
Miroslav Lichvar
c7d0232bb1
Introduce offset correction rate
...
We want to correct the offset quickly, but we also want to keep the
frequency error caused by the correction itself low.
Define correction rate as the area of the region bounded by the graph of
offset corrected in time. Set the rate so that the time needed to correct
an offset equal to the current sourcestats stddev will be equal to the
update interval (assuming linear adjustment). The offset and the
time needed to make the correction are inversely proportional.
This is only a suggestion and it's up to the system driver how the
adjustment will be executed.
2011-11-15 12:27:44 +01:00
Miroslav Lichvar
78fc17c661
Use ADJ_OFFSET_SS_READ mode only with kernels 2.6.28 and later
2011-09-13 16:39:08 +02:00
Miroslav Lichvar
d42addf746
Add macro for maximum fastslew timeout
2011-09-01 18:08:45 +02:00
Miroslav Lichvar
6ab3d1daa3
Add support for ADJ_SETOFFSET mode
...
This adjtimex mode allows precise stepping of the system clock.
2011-09-01 15:31:11 +02:00
Miroslav Lichvar
c6e9065498
Fix current_total_tick calculation
2011-06-15 15:35:15 +02:00
Miroslav Lichvar
2b7e4d645f
Don't reset kernel frequency on start without drift file
2011-06-15 15:35:00 +02:00
Miroslav Lichvar
6a2a837ede
Remove kernel version check from rtc code
...
It should work with all currently supported kernels (>= 2.2.0).
2011-06-06 21:33:59 +02:00
Miroslav Lichvar
eca08a281c
Determine hz and shift from sysconf(_SC_CLK_TCK) when available
2011-06-06 17:41:14 +02:00
Miroslav Lichvar
9fd8f76fa0
Log final version specific details
2011-06-06 17:12:31 +02:00
Miroslav Lichvar
50de930730
Drop support for old readonly adjtime
2011-06-06 17:12:31 +02:00
Miroslav Lichvar
da1097095c
Drop support for pre 2.2 Linux kernels
2011-06-06 17:12:31 +02:00
Miroslav Lichvar
ec7d302a6c
Support Linux 3.0 and later
2011-06-06 13:56:27 +02:00
Miroslav Lichvar
da2c8d9076
Use config.h
2011-05-24 18:07:06 +02:00
Miroslav Lichvar
2a0c35646c
Allow changing tick up to max_tick_bias
2011-04-12 16:40:22 +02:00
Miroslav Lichvar
680612cf09
Reduce Linux driver verbosity
2011-02-15 17:22:40 +01:00
Miroslav Lichvar
e8c5d15690
Remove CVS headers
2011-01-28 12:56:09 +01:00
Miroslav Lichvar
e63cba05b2
Update copyright
2011-01-27 13:05:26 +01:00
Miroslav Lichvar
2f2e524bc6
Don't use timezone parameter in gettimeofday and settimeofday calls
2010-08-12 14:43:26 +02:00
Miroslav Lichvar
6b0198c2d7
Replace all CROAK calls with assert or LOG_FATAL
...
Remove croak() and use assert() or LOG_FATAL() everywhere. Hopefully
the problems with debugging mentioned in the croak() comment are long gone.
2010-08-12 14:30:05 +02:00
Miroslav Lichvar
1faeb45063
Update offset correction errors only when needed
2010-08-11 17:16:16 +02:00
Miroslav Lichvar
fa84496423
Fix updating of nano slew offset correction error
2010-08-11 16:57:19 +02:00
Miroslav Lichvar
cb28aeeacc
Add nanosecond slewing to Linux driver
...
For offset adjustments below 10 microseconds use kernel PLL with
locked frequency and 1s time constant.
2010-08-06 11:50:35 +02:00
Miroslav Lichvar
7994b31de4
Reset adjtime offset on start
2010-08-05 13:27:52 +02:00
Miroslav Lichvar
f6320e7050
Don't hang in our_round
...
The routine could loop infinitely when rounding a large value, replace
it with our_lround.
2010-06-07 14:19:58 +02:00
Miroslav Lichvar
a080d00352
Add rtcsync directive
...
The directive enables the 11 minute kernel mode. It cannot be used
when the normal RTC tracking is enabled.
2010-05-14 14:41:11 +02:00
Miroslav Lichvar
be4369936b
Clamp tick value before calling adjtimex
...
If tick is outside allowed adjtimex range, clamp it and log a warning
instead of aborting.
2010-04-27 14:35:27 +02:00
Miroslav Lichvar
1a7415a6ab
Return actual frequency in drv_set_freq functions
...
This is needed to keep sourcestats accurate when the actual frequency is
different from the requested frequency due to clamping (or possibly
rounding in future system drivers).
2010-04-27 14:35:27 +02:00
Miroslav Lichvar
c15db71f9e
Add dispersion after Linux makestep
2010-04-27 14:35:27 +02:00
Miroslav Lichvar
fd375ca55b
Estimate offset correction error in Linux driver
2010-02-18 14:17:16 +01:00
Miroslav Lichvar
20d898d182
Prepare for handling offset correction error
2010-02-16 17:46:42 +01:00
Miroslav Lichvar
15e154c09d
Handle immediate step in local module instead of system driver
...
This fixes the problem where scheduler wasn't notified about performed
steps and it also makes the command available on all supported systems.
2010-01-25 15:51:15 +01:00
Miroslav Lichvar
52d0c9a057
Limit timeout for end of slew to avoid overflow
2010-01-25 15:50:45 +01:00
Miroslav Lichvar
e3234465e2
Clean up system options code
...
Abort with error message when trying to use unsupported/disabled
system specific option.
2009-11-25 14:37:41 +01:00
Miroslav Lichvar
62fe343990
Reduce adjtime calling
...
Don't call adjtime to determine remaining offset when there is no slewing
running.
2009-11-23 17:23:43 +01:00
Miroslav Lichvar
8e23110aec
Update COPYING and FSF address
2009-10-28 17:53:33 +01:00
Miroslav Lichvar
f7e08d0c30
Update copyrights
2009-10-28 17:53:10 +01:00
Miroslav Lichvar
d06f02be1c
Don't forget to free capability object
2009-09-21 12:47:17 +02:00
Miroslav Lichvar
dd4fb511a5
Don't lose remaining adjtime in initiate_slew
...
initiate_slew is called also from set_frequency which doesn't read
the remaining adjtime. This wasn't a problem before commit 8c0f3f4
as offset_register was 0.0 and initiate_slew immediately returned.
2009-08-26 17:58:57 +02:00
Miroslav Lichvar
8c0f3f4042
Try to minimize adjtime error
...
The offset is rounded before calling adjtime and the error below
microsecond is accumulated.
2009-07-01 15:56:00 +02:00
Miroslav Lichvar
032d1db883
Add support for ADJ_OFFSET_SS_READ mode
...
Also assume that kernels >= 2.6.27 don't need frequency scaling.
2009-05-20 17:43:09 +02:00
John Hasler
35e662d810
Add mlockall and SCHED_FIFO support
...
The attached patch adds support for mlockall() as well as the SCHED_FIFO
real-time scheduler. It should result in reduced (and more consistent)
latency. Usage is documented in all the documents.
2009-02-10 18:02:28 +01:00
Miroslav Lichvar
8f9c237010
Leap second support
...
Leap second status is accepted and forwarded to clients if majority
of selectable sources agree. The actual insertion/deletion is supported
only on Linux now.
2009-01-08 13:33:15 +01:00
Miroslav Lichvar
be42b4eeea
Linux capabilities support
...
Attached is a patch adding a linux capabilities support to chronyd. It
adds -u option which can be used to specify the user which chronyd
should switch to.
2008-11-05 23:50:48 +00:00
Richard P. Curnow
1a4fa3330a
Rename round() function to avoid clash with builtin
2006-04-15 00:34:04 +01:00
richard
22a309efe3
Output to syslog more debugging information at startup
2006-01-19 21:37:13 +00:00