| Commit message (Collapse) | Author | Age | Files | Lines |
| ... | |
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
members to 64bit types. Assign new syscall numbers for (almost
all) the syscalls that involve the affected types, including anything
with time_t, timeval, itimerval, timespec, rusage, dirent, stat,
or kevent arguments. Add a d_off member to struct dirent and replace
getdirentries() with getdents(), thus immensely simplifying and
accelerating telldir/seekdir. Build perl with -DBIG_TIME.
Bump the major on every single base library: the compat bits included
here are only good enough to make the transition; the T32 compat
option will be burned as soon as we've reached the new world are
are happy with the snapshots for all architectures.
DANGER: ABI incompatibility. Updating to this kernel requires extra
work or you won't be able to login: install a snapshot instead.
Much assistance in fixing userland issues from deraadt@ and tedu@
and build assistance from todd@ and otto@
|
| |
|
|
|
|
|
|
| |
including CLOCK_{PROCESS,THREAD}_CPUTIME_ID constants and
{clock,pthread}_getcpuclockid() functions.
Worked out at t2k13 with help from tedu@ and matthew@ and testing by aja@
ok matthew@
|
| |
|
|
| |
ok matthew@ deraadt@
|
| |
|
|
| |
ok deraadt@
|
| |
|
|
|
| |
.h files to pull it in, if needed
ok tedu
|
| | |
|
| |
|
|
|
|
| |
just the realtime clock, triggering and adjusting timeouts to reflect that.
ok matthew@ deraadt@
|
| |
|
|
|
|
|
| |
of per-rthread. Handling of per-thread tick and runtime counters
inspired by how FreeBSD does it.
ok kettenis@
|
| |
|
|
|
|
| |
structs timespec, timeval, sigaction, and rlimit.
ok otto@ jsing@
|
| |
|
|
| |
the main thread exiting. c.f. regress/sys/kern/main-thread-exited/
|
| | |
|
| |
|
|
|
|
| |
context switch and the call to clock_gettime.
oga@ ok
|
| |
|
|
|
|
| |
settimeofday() does, so move those bits into settime()
"I like it" deraadt@
|
| |
|
|
|
|
| |
race condition and prep for later support of pthread_condattr_setclock()
"get it in" deraadt@, tedu@, cheers by others
|
| |
|
|
|
|
|
|
|
|
|
| |
that the timeout doesn't happen if setitimer is called between the
profiling / virtual timer expires and the timeout is scheduled.
firefox triggered this Profiling timer expired problem when in
uthread execve signal was being delivered after timer has already
been disabled; as reported on ports@ recently.
special thanks to kettenis@, kurt@, guenther@.
agreed by kettenis@, tedu@. ok guenther@.
reminded & ok fgs@. tested by ian@.
|
| |
|
|
| |
ok millert
|
| |
|
|
| |
ok tedu@
|
| |
|
|
|
|
|
| |
like .25 seconds or 5 seconds. the accuracy of microuptime is not really
needed then, so switch it to getmicrouptime.
ok henning@ art@
|
| | |
|
| |
|
|
| |
deraadt@ ok
|
| |
|
|
|
|
| |
getitimer when the clock on the machine has been reset.
miod@ ok
|
| |
|
|
|
| |
Tested by various using not (yet) committed amd64 timecounter code.
ok deraadt@
|
| |
|
|
|
|
| |
__HAVE_TIMECOUNTER case.
ok otto@
|
| |
|
|
|
| |
timecounters case. adjfreq() does not work with timecounters, but
more is coming. with help from miod; tested by dlg@; ok miod@
|
| |
|
|
| |
(ie sgi). Diff and request to commit from otto@
|
| |
|
|
| |
Loosely based on dragonfly code. ok deraadt@
|
| | |
|
| | |
|
| |
|
|
|
| |
and attempt to compensate for incorrect clocks by adjusting ticks
slowly. ok deraadt
|
| |
|
|
| |
'go for it' deraadt@
|
| |
|
|
| |
from alexander bluhm; ok deraadt
|
| |
|
|
|
|
|
|
|
| |
the midst of exiting. This solves a race condition that causes freed memory
to be left referenced in the master kernel timeout worklist, leading to a
uvm_fault. The same race condition was already fixed earlier in r1.53 of
kern_clock.c for the process virtual and profile timeout structs.
deraadt@ ok, testing by krw@
|
| |
|
|
|
| |
wrong direction for large offsets as nick@ saw. With tom@ and toby@;
ok tdeval@ krw@
|
| |
|
|
|
|
|
| |
only for curproc, that's why no SCHED_LOCK or similar is necessary).
miod@ "appears to be harmless"
markus@ ok
|
| | |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
everyone for the prompt review and ok of this work ;-) Yeah, that includes me
too, or maybe especially me. I am sorry.
Change the sched_lock to a mutex. This fixes, among other things, the infamous
"telnet localhost &" problem. The real bug in that case was that the sched_lock
which is by design a non-recursive lock, was recursively acquired, and not
enough releases made us hold the lock in the idle loop, blocking scheduling
on the other processors. Some of the other processors would hold the biglock though,
which made it impossible for cpu 0 to enter the kernel... A nice deadlock.
Let me just say debugging this for days just to realize that it was all fixed
in an old diff noone ever ok'd was somewhat of an anti-climax.
This diff also changes splsched to be correct for all our architectures.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
code is all conditionalized on __HAVE_TIMECOUNTER, and not
enabled on any platforms.
adjtime(2) support exists, courtesy of nordin@, sysctl(2) support
and a concept of quality for each time source attached exists.
High quality time sources exists for PIIX4 ACPI timer as well as
some AMD power management chips. This will have to be redone
once we actually add ACPI support (at that time we need to use
the ACPI interfaces to get at these clocks).
ok art@ ken@ miod@ jmc@ and many more
|
| | |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
encapsulating all such access into wall-defined functions
that makes sure locking is done as needed.
It also cleans up some uses of wall time vs. uptime some
places, but there is sure to be more of these needed as
well, particularily in MD code. Also, many current calls
to microtime() should probably be changed to getmicrotime(),
or to the {,get}microuptime() versions.
ok art@ deraadt@ aaron@ matthieu@ beck@ sturm@ millert@ others
"Oh, that is not your problem!" from miod@
|
| |
|
|
|
|
|
|
| |
things such that code that only need a second-resolution uptime or wall
time, and used to get that from time.tv_secs or mono_time.tv_secs now get
this from separate time_t globals time_second and time_uptime.
ok art@ niklas@ nordin@
|
| | |
|
| |
|
|
|
|
|
|
|
|
|
| |
Introduce the cpu_info structure, p_cpu field in struct proc and global
scheduling context and various changed code to deal with this. At the
moment no architecture uses this stuff yet, but it will allow us slow and
controlled migration to the new APIs.
All new code is ifdef:ed out.
ok deraadt@ niklas@
|
| |
|
|
| |
from netbsd via Pedro Martelletto <pbastos@rdc.puc-rio.br>
|
| |
|
|
|
| |
from Patrick Latifi <patrick.l@hermes.usherb.ca>
ok jason@ tedu@
|
| | |
|
| |
|
|
|
|
|
|
|
| |
argument. old cred only calls user suser_ucred. this will allow future
work to more flexibly implement the idea of a root process. looks like
something i saw in freebsd, but a little different.
use of suser_ucred vs suser in file system code should be looked at again,
for the moment semantics remain unchanged.
review and input from art@ testing and further review miod@
|
| | |
|
| |
|
|
| |
rescinded 22 July 1999. Proofed by myself and Theo.
|
| | |
|
| | |
|