Revision tags: release/5.2.1_cvs, release/5.2.1 |
|
#
ee57aeea |
| 22-Jan-2004 |
Poul-Henning Kamp <phk@FreeBSD.org> |
Write 100 times for tomorrow: "Always print time_t as %jd, you never know what width it has"
|
#
4e74721c |
| 21-Jan-2004 |
Poul-Henning Kamp <phk@FreeBSD.org> |
Add a sysctl (default: off) which enables a log(LOG_INFO...) warning if the clock is stepped.
|
Revision tags: release/5.2.0_cvs, release/5.2.0 |
|
#
555a5de2 |
| 13-Nov-2003 |
Poul-Henning Kamp <phk@FreeBSD.org> |
Various minor details: Give the HZ/overflow check a 10% margin. Eliminate bogus newline. If timecounters have equal quality, prefer higher frequency.
Some inspiration from: bde
|
Revision tags: release/4.9.0_cvs, release/4.9.0 |
|
#
c679c734 |
| 03-Sep-2003 |
Poul-Henning Kamp <phk@FreeBSD.org> |
Use the quality to disable timecounters for which we deem Hz too low.
|
#
c1cccd1e |
| 20-Aug-2003 |
Warner Losh <imp@FreeBSD.org> |
bde made a number of suggested improvements to the code. This commit represents the pruely stylistic changes and should have no net impact on the rest of the code.
bde's more substantive changes wi
bde made a number of suggested improvements to the code. This commit represents the pruely stylistic changes and should have no net impact on the rest of the code.
bde's more substantive changes will follow in a separate commit once we've come to closure on them.
Submitted by: bde
show more ...
|
#
45cc9f5f |
| 20-Aug-2003 |
Warner Losh <imp@FreeBSD.org> |
Fix an extreme edge case in leap second handling. We need to call ntp_update_second twice when we have a large step in case that step goes across a scheduled leap second. The only way this could ha
Fix an extreme edge case in leap second handling. We need to call ntp_update_second twice when we have a large step in case that step goes across a scheduled leap second. The only way this could happen would be if we didn't call tc_windup over the end of day on the day of a leap second, which would only happen if timeouts were delayed for seconds. While it is an edge case, it is an important one to get right for my employer.
Sponsored by: Timing Solutions Corporation
show more ...
|
#
78a49a45 |
| 16-Aug-2003 |
Poul-Henning Kamp <phk@FreeBSD.org> |
Give timecounters a numeric quality field.
A timecounter will be selected when registered if its quality is not negative and no less than the current timecounters.
Add a sysctl to report all availa
Give timecounters a numeric quality field.
A timecounter will be selected when registered if its quality is not negative and no less than the current timecounters.
Add a sysctl to report all available timecounters and their qualities.
Give the dummy timecounter a solid negative quality of minus a million.
Give the i8254 zero and the ACPI 1000.
The TSC gets 800, unless APM or SMP forces it negative.
Other timecounters default to zero quality and thereby retain current selection behaviour.
show more ...
|
#
affd4332 |
| 12-Aug-2003 |
Maxime Henrion <mux@FreeBSD.org> |
Remove extra space.
|
#
d94e3652 |
| 02-Jul-2003 |
Poul-Henning Kamp <phk@FreeBSD.org> |
typo fix in comment.
|
#
4f2073fb |
| 25-Jun-2003 |
Warner Losh <imp@FreeBSD.org> |
Fix leap second processing by the kernel time keeping routines. Before, we would add/subtract the leap second when the system had been up for an even multiple of days, rather than at the end of the d
Fix leap second processing by the kernel time keeping routines. Before, we would add/subtract the leap second when the system had been up for an even multiple of days, rather than at the end of the day, as a leap second is defined (at least wrt ntp). We do this by calculating the notion of UTC earlier in the loop, and passing that to get it adjusted. Any adjustments that ntp_update_second makes to this time are then transferred to boot time. We can't pass it either the boot time or the uptime because their sum is what determines when a leap second is needed. This code adds an extra assignment and two extra compare in the typical case, which is as cheap as I could made it.
I have confirmed with this code the kernel time does the correct thing for both positive and negative leap seconds. Since the ntp interface doesn't allow for +2 or -2, those cases can't be tested (and the folks in the know here say there will never be a +2s or -2s leap event, but rather two +1s or -1s leap events).
There will very likely be no leap seconds for a while, given how the earth is speeding up and slowing down, so there will be plenty of time for this fix to propigate. UT1-UTC is currently at "about -0.4s" and decrementing by .1s every 8 months or so. 6 * 8 is 48 months, or 4 years.
-stable has different code, but a similar bug that was introduced about the time of the last leap second, which is why nobody has noticed until now.
MFC After: 3 weeks Reviewed by: phk
"Furthermore, leap seconds must die." -- Cato the Elder
show more ...
|
#
4e82e5f6 |
| 23-Jun-2003 |
Warner Losh <imp@FreeBSD.org> |
Use UTC rather than GMT to describe time scale. latter is obsolete.
|
#
677b542e |
| 11-Jun-2003 |
David E. O'Brien <obrien@FreeBSD.org> |
Use __FBSDID().
|
Revision tags: release/5.1.0_cvs, release/5.1.0, release/4.8.0_cvs, release/4.8.0 |
|
#
b4b138c2 |
| 18-Mar-2003 |
Poul-Henning Kamp <phk@FreeBSD.org> |
Including <sys/stdint.h> is (almost?) universally only to be able to use %j in printfs, so put a newsted include in <sys/systm.h> where the printf prototype lives and save everybody else the trouble.
|
#
60ca3996 |
| 29-Jan-2003 |
Poul-Henning Kamp <phk@FreeBSD.org> |
Move timecounters notion of frequency to 64 bits.
[WARNING: CPUs in the distant future may be closer than they appear!]
|
#
4394f476 |
| 25-Jan-2003 |
Poul-Henning Kamp <phk@FreeBSD.org> |
Add sysctl kern.timecounter.nsetclock which indicates the number of potential discontinuities in our UTC timescale.
Applications can monitor this variable if they want to be informed about steps in
Add sysctl kern.timecounter.nsetclock which indicates the number of potential discontinuities in our UTC timescale.
Applications can monitor this variable if they want to be informed about steps in the timescale. Slews (ntp and adjtime(2)) and frequency adjustments (ntp) will not increment this counter, only operations which set the clock. No attempt is made to classify size or direction of the step.
show more ...
|
#
ce9fac00 |
| 16-Jan-2003 |
Poul-Henning Kamp <phk@FreeBSD.org> |
Move a local variable to avoid the compiler warning about it being unused.
|
#
b1e7e201 |
| 16-Jan-2003 |
John Hay <jhay@FreeBSD.org> |
hardpps() wants the raw hardware counter value converted to nanoseconds.
|
Revision tags: release/5.0.0_cvs, release/5.0.0 |
|
#
ff292556 |
| 06-Jan-2003 |
Peter Wemm <peter@FreeBSD.org> |
Explicitly have the timecounter init happen after the cpu_initclocks is called. Otherwise (depending on a non-deterministic sort), the timecounter code can be initialized before the clock rate has b
Explicitly have the timecounter init happen after the cpu_initclocks is called. Otherwise (depending on a non-deterministic sort), the timecounter code can be initialized before the clock rate has been set (on ia64) and it assumes hz = 100, rather than the real value of 1024. I'm not sure how much gets upset by this.
Glanced at by: phk
show more ...
|
#
b3ed130c |
| 04-Jan-2003 |
Poul-Henning Kamp <phk@FreeBSD.org> |
Export tc_tick with sysctl, not tick.
Spotted by: bde
|
#
38b0884c |
| 01-Nov-2002 |
Poul-Henning Kamp <phk@FreeBSD.org> |
Introduce a "time_uptime" global variable which holds the time since boot in seconds.
|
#
e80fb434 |
| 17-Oct-2002 |
Robert Drehmel <robert@FreeBSD.org> |
Use strlcpy() instead of strncpy() to copy NUL terminated strings for safety and consistency.
|
Revision tags: release/4.7.0_cvs |
|
#
e46eeb89 |
| 04-Sep-2002 |
Poul-Henning Kamp <phk@FreeBSD.org> |
Do not employ timecounter hardware if our hz does not support their correct rewinding.
|
#
e7fa55af |
| 04-Sep-2002 |
Poul-Henning Kamp <phk@FreeBSD.org> |
Give up on calling tc_ticktock() from a timeout, we have timeout functions which run for several milliseconds at a time and getting in queue behind one or more of those makes us miss our rewind.
Ins
Give up on calling tc_ticktock() from a timeout, we have timeout functions which run for several milliseconds at a time and getting in queue behind one or more of those makes us miss our rewind.
Instead call it from hardclock() like we used to do, but retain the prescaler so we still cope with high HZ values.
show more ...
|
Revision tags: release/4.6.2_cvs, release/4.6.2, release/4.6.1 |
|
#
4f8cb019 |
| 15-Jul-2002 |
Mark Murray <markm@FreeBSD.org> |
Use a semicolon at the end of a function-like macro invocation. Kills warnings and makes the visual style easier.
|
Revision tags: release/4.6.0_cvs |
|
#
e3f0c575 |
| 11-Jun-2002 |
Kelly Yancey <kbyanc@FreeBSD.org> |
Time counter stats are unsigned, advertise them to sysctl(8) that way.
PR: (one small part of) 19720 Approved by: phk
|