| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
|
|
|
|
|
|
| |
used for timecounting. The possible values are the names of the
physically present harware timecounters ("i8254" and "TSC" on i386's).
Fixed some nearby bitrot in comments in <sys/time.h>.
Reviewed by: phk
|
| |
|
|
|
|
|
|
| |
timecounter as well
Asked for by: bde, jhay
|
|
|
|
| |
Detected by: Reg Clemens <reg@dwf.com>
|
|
|
|
| |
Noticed by: bde
|
|
|
|
| |
Noticed by: bde
|
|
|
|
|
|
|
|
| |
FLL support in hardpps()
Various magic shuffles and improved comments
Style fixes from Bruce.
|
|
|
|
|
|
|
| |
This code is backwards compatible with the older "microkernel" PLL, but
allows ntpd v4 to use nanosecond resolution. Many other improvements.
PPS_SYNC and hardpps() are NOT supported yet.
|
|
|
|
|
| |
of kilobytes. Its definition for each architecture could be optimized to
avoid potential numerical overflows.
|
|
|
|
|
|
|
| |
is the preparation step for moving pmap storage out of vmspace proper.
Reviewed by: Alan Cox <alc@cs.rice.edu>
Matthew Dillion <dillon@apollo.backplane.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
can set if your hw/sw produces the "calcru negative..." message.
Setting the alternate method (sysctl -w kern.timecounter.method=1)
makes the the get{nano|micro}*() functions call the real thing at
resulting in a measurable but minor overhead.
I decided to NOT have the "calcru" change the method automatically
because you should be aware of this problem if you have it.
The problems currently seen, related to usleep and a few other corners
are fixed for both methods.
|
|
|
|
|
|
|
|
|
|
|
| |
out interrupts for too long. If you still see the "calcru: negative
time..." message you can increase NTIMECOUNTER (see LINT).
Sideeffect is that a timecounter is required to not wrap around in
less than (1 + delta) seconds instead of the (1/hz + delta) required
until now.
Many thanks to: msmith, wpaul, wosch & bde
|
|
|
|
|
|
| |
with a NULL curproc.
Originally by: Tor Egge (IIRC)
|
| |
|
|
|
|
| |
about unused variables, labels and other lint.
|
|
|
|
|
|
| |
If you have problems with the "calcru" messages and processes being
killed for excessive cpu time, try to increase the NTIMECOUNTER
#define and report your findings.
|
|
|
|
|
|
|
| |
compiler that we know what we're doing (the value returned has already
been restricted to int ranges).
Reviewed by: bde
|
|
|
|
|
|
|
| |
Remove old disk statistics variables.
vfs_bio.c:
Enable bowrite now that B_ORDERED works for all buffer devices.
|
| |
|
| |
|
| |
|
|
|
|
|
| |
tens of milliseconds out in the future we end up the right place with
a subweeniesecond error.
|
|
|
|
|
|
| |
not nanotime(); Otherwise we end up in 2026...
Fix the arg to dummy_get_timecount()
|
|
|
|
| |
Urged by: bde
|
|
|
|
|
| |
with latch based PPS implementations. The client that uses it will
be committed after more testing.
|
|
|
|
| |
figure out which instance to wount with.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Clean up (or if antipodic: down) some of the msgbuf stuff.
Use an inline function rather than a macro for timecounter delta.
Maintain process "on-cpu" time as 64 bits of microseconds to avoid
needless second rollover overhead.
Avoid calling microuptime the second time in mi_switch() if we do
not pass through _idle in cpu_switch()
This should reduce our context-switch overhead a bit, in particular
on pre-P5 and SMP systems.
WARNING: Programs which muck about with struct proc in userland
will have to be fixed.
Reviewed, but found imperfect by: bde
|
|
|
|
|
|
| |
function.
Reviewed, but not entirely approved by: bde
|
|
|
|
|
|
| |
s/microruntime/microuptime/g
Reviewed by: bde
|
|
|
|
| |
Mostly Submitted by: bde
|
|
|
|
|
|
| |
more consistent.
OK'ed by: bde
|
|
|
|
| |
fix the itimer(REAL) handling.
|
|
|
|
| |
Use tvtohz() a place where it fits.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* Figure out UTC relative to boottime. Four new functions provide
time relative to boottime.
* move "runtime" into struct proc. This helps fix the calcru()
problem in SMP.
* kill mono_time.
* add timespec{add|sub|cmp} macros to time.h. (XXX: These may change!)
* nanosleep, select & poll takes long sleeps one day at a time
Reviewed by: bde
Tested by: ache and others
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
"time" wasn't a atomic variable, so splfoo() protection were needed
around any access to it, unless you just wanted the seconds part.
Most uses of time.tv_sec now uses the new variable time_second instead.
gettime() changed to getmicrotime(0.
Remove a couple of unneeded splfoo() protections, the new getmicrotime()
is atomic, (until Bruce sets a breakpoint in it).
A couple of places needed random data, so use read_random() instead
of mucking about with time which isn't random.
Add a new nfs_curusec() function.
Mark a couple of bogosities involving the now disappeard time variable.
Update ffs_update() to avoid the weird "== &time" checks, by fixing the
one remaining call that passwd &time as args.
Change profiling in ncr.c to use ticks instead of time. Resolution is
the same.
Add new function "tvtohz()" to avoid the bogus "splfoo(), add time, call
hzto() which subtracts time" sequences.
Reviewed by: bde
|
|
|
|
|
|
|
|
|
|
|
|
| |
They are atomic, but return in essence what is in the "time" variable.
gettime() is now a macro front for getmicrotime().
Various patches to use the two new functions instead of the various
hacks used in their absence.
Some puntuation and grammer patches from Bruce.
A couple of XXX comments.
|
|
|
|
|
|
| |
Bring back the softclock inlining
save a couple of <<32's
many white-space shuffles.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Highlights:
* Simple model for underlying hardware.
* Hardware basis for timekeeping can be changed on the fly.
* Only one hardware clock responsible for TOD keeping.
* Provides a real nanotime() function.
* Time granularity: .232E-18 seconds.
* Frequency granularity: .238E-12 s/s
* Frequency adjustment is continuous in time.
* Less overhead for frequency adjustment.
* Improves xntpd performance.
Reviewed by: bde, bde, bde
|
| |
|
| |
|
| |
|
|
|
|
|
|
| |
kern_ntptime.c. The only bit left over is that which is executed
in all calls to hardclock(). Various cleanups and staticizing
along the road.
|
| |
|
| |
|
|
|
|
|
|
|
|
| |
hardclock().
Forgot this:
Pointed hat sent by: bd
|
|
|
|
| |
repository copied from kern_clock.c)
|
|
|
|
|
| |
* Rename usec to p_usec so you can search for it.
* Macroize the huge median_of_3_samples if statement.
|