#
fcfbe7d9 |
| 02-Aug-2019 |
cheloha <cheloha@openbsd.org> |
per-process itimers: itimerval -> itimerspec
Loongson runs at 128hz. 128 doesn't divide evenly into a million, but it does divide evenly into a billion. So if we do the per-process itimer bookkeep
per-process itimers: itimerval -> itimerspec
Loongson runs at 128hz. 128 doesn't divide evenly into a million, but it does divide evenly into a billion. So if we do the per-process itimer bookkeeping with itimerspec structs we can have error-free virtual itimers on loongson just as we do on most other platforms.
This change doesn't fix the virtual itimer error alpha, as 1024 does not divide evenly into a billion. But this doesn't make the situation any worse, either.
ok deraadt@
show more ...
|
#
100aa75b |
| 28-Jan-2019 |
mpi <mpi@openbsd.org> |
Simplify by using `spc' since we already have it, no behavior change.
|
#
4667466e |
| 17-Oct-2018 |
bluhm <bluhm@openbsd.org> |
Only the scheduler time statistics should be affected by spinning. Change the process time accounting back to the original code before spinning time was added. No change for scheduler time. Spinnin
Only the scheduler time statistics should be affected by spinning. Change the process time accounting back to the original code before spinning time was added. No change for scheduler time. Spinning interrupts are no longer accounted to process system time. input and OK visa@
show more ...
|
#
33815e14 |
| 10-Oct-2018 |
bluhm <bluhm@openbsd.org> |
User land time accounting has changed when kernel spinning time was introduced. Account spinning time to the process system time again. time(1) has no spinning, it only shows real, user, sys. OK vis
User land time accounting has changed when kernel spinning time was introduced. Account spinning time to the process system time again. time(1) has no spinning, it only shows real, user, sys. OK visa@ mpi@ deraadt@
show more ...
|
#
a97de0f1 |
| 04-Jun-2018 |
cheloha <cheloha@openbsd.org> |
drop BUMPTIME
unused since v1.76, ca 5.3
ok kettenis@ deraadt@
|
#
531d8034 |
| 14-May-2018 |
mpi <mpi@openbsd.org> |
Stopping counting and reporting CPU time spent spinning on a lock as system time.
Introduce a new CP_SPIN "scheduler state" and modify userland tools to display the % of timer a CPU spents spinning.
Stopping counting and reporting CPU time spent spinning on a lock as system time.
Introduce a new CP_SPIN "scheduler state" and modify userland tools to display the % of timer a CPU spents spinning.
Based on a diff from jmatthew@, ok pirofti@, bluhm@, visa@, deraadt@
show more ...
|
#
ebbbc3a6 |
| 22-Jul-2017 |
kettenis <kettenis@openbsd.org> |
Introduce jiffies, a volatile unsigned long version of our ticks variable for use by the linux compatibility APIs in drm(4).
While I hate infecting code in sys/kern with this, untangling all the of
Introduce jiffies, a volatile unsigned long version of our ticks variable for use by the linux compatibility APIs in drm(4).
While I hate infecting code in sys/kern with this, untangling all the of having different types and different signedness is too much for me right now. The best strategy may be to change ticks itself to be long but that needs some careful auditing.
ok deraadt@
show more ...
|
#
83201e26 |
| 05-Apr-2017 |
deraadt <deraadt@openbsd.org> |
clear structure on the stack before copying out for sysctl. At present it has no pads, but a future ABI change could add something and leak kernel memory.
|
#
6950c8e2 |
| 04-Sep-2016 |
mpi <mpi@openbsd.org> |
Introduce Dynamic Profiling, a ddb(4) based & gprof compatible kernel profiling framework.
Code patching is used to enable probes when entering functions. The probes will call a mcount()-like funct
Introduce Dynamic Profiling, a ddb(4) based & gprof compatible kernel profiling framework.
Code patching is used to enable probes when entering functions. The probes will call a mcount()-like function to match the behavior of a GPROF kernel.
Currently only available on amd64 and guarded under DDBPROF. Support for other archs will follow soon.
A new sysctl knob, ddb.console, need to be set to 1 in securelevel 0 to be able to use this feature.
Inputs and ok guenther@
show more ...
|
#
72721952 |
| 24-Mar-2016 |
dlg <dlg@openbsd.org> |
set ticks 15 seconds before its value wraps.
this helps us identify issues around ticks wrap in 15 minutes instead of 240ish days. the change is inspired by something freebsd did as a result of a ti
set ticks 15 seconds before its value wraps.
this helps us identify issues around ticks wrap in 15 minutes instead of 240ish days. the change is inspired by something freebsd did as a result of a ticks change they made that went horribly wrong.
lots of people said they wanted this
show more ...
|
#
45cadf31 |
| 20-Mar-2016 |
uebayasi <uebayasi@openbsd.org> |
Update ticks in hardclock().
OK mikeb@
|
#
d6177868 |
| 11-Jun-2015 |
mikeb <mikeb@openbsd.org> |
Move hzto(9) to the attic; OK dlg
|
#
b7cf9720 |
| 15-Sep-2014 |
miod <miod@openbsd.org> |
Remove non-standard <sys/dkstat.h> header. It has not contained anything related to disk stastics for almost 17 years, and the remaining userland-visible defines duplicate those found in <sys/sched.h
Remove non-standard <sys/dkstat.h> header. It has not contained anything related to disk stastics for almost 17 years, and the remaining userland-visible defines duplicate those found in <sys/sched.h>.
Move the remaining _KERNEL defines to <sys/tty.h> where they belong, and update all users to cope with this.
ok kettenis@
show more ...
|
#
d036fd5e |
| 04-Sep-2014 |
miod <miod@openbsd.org> |
Remove global cp_time[] array; no longer used now that all arches implement cpu_info.
|
#
e6c6495d |
| 08-Jul-2014 |
deraadt <deraadt@openbsd.org> |
decouple struct uvmexp into a new file, so that uvm_extern.h and sysctl.h don't need to be married. ok guenther miod beck jsing kettenis
|
#
94717a92 |
| 24-Dec-2013 |
tedu <tedu@openbsd.org> |
rename local ticks to nticks to avoid aliasing global. ok krw
|
#
a554f8d9 |
| 08-Oct-2013 |
guenther <guenther@openbsd.org> |
Fix delivery of SIGPROF and SIGVTALRM to threaded processes by having hardclock() set a flag on the running thread and force AST processing, and then have the thread signal itself from userret().
id
Fix delivery of SIGPROF and SIGVTALRM to threaded processes by having hardclock() set a flag on the running thread and force AST processing, and then have the thread signal itself from userret().
idea and flag names from FreeBSD ok jsing@
show more ...
|
#
91a535ff |
| 13-Aug-2013 |
guenther <guenther@openbsd.org> |
Switch time_t, ino_t, clock_t, and struct kevent's ident and data members to 64bit types. Assign new syscall numbers for (almost all) the syscalls that involve the affected types, including anything
Switch time_t, ino_t, clock_t, and struct kevent's ident and data 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@
show more ...
|
#
c4cc3043 |
| 24-Apr-2013 |
matthew <matthew@openbsd.org> |
Add tstohz(9) as the timespec analog to tvtohz(9).
ok miod
|
#
2f360485 |
| 28-Mar-2013 |
deraadt <deraadt@openbsd.org> |
do not include machine/cpu.h from a .c file; it is the responsibility of .h files to pull it in, if needed ok tedu
|
#
6377c2ea |
| 12-Mar-2013 |
mpi <mpi@openbsd.org> |
Fix kernel profiling on MP systems by using per-CPU buffers and teach kgmon(8) to deal with them, this time without public header changes.
Previously various CPUs were iterating over the same global
Fix kernel profiling on MP systems by using per-CPU buffers and teach kgmon(8) to deal with them, this time without public header changes.
Previously various CPUs were iterating over the same global buffer at the same time to modify it and never ended.
This diff includes some ideas submited by Thor Simon to NetBSD via miod@.
ok deraadt@, mikeb@, haesbaert@
show more ...
|
#
0f288458 |
| 12-Feb-2013 |
mpi <mpi@openbsd.org> |
Back out per-CPU kernel profiling, it shouldn't modify a public header at this moment.
|
#
fea2fea8 |
| 11-Feb-2013 |
mpi <mpi@openbsd.org> |
Fix kernel profiling on MP systems by using per-CPU buffer. Previously various CPUs were iterating over the same global buffer at the same time to modify it and never ended.
This diff includes some
Fix kernel profiling on MP systems by using per-CPU buffer. Previously various CPUs were iterating over the same global buffer at the same time to modify it and never ended.
This diff includes some ideas submited by Thor Simon to NetBSD via miod@.
ok mikeb@, haesbaert@
show more ...
|
#
1c070ce7 |
| 05-Nov-2012 |
miod <miod@openbsd.org> |
unifdef -D __HAVE_TIMECOUNTER
|
#
18914fdf |
| 02-Aug-2012 |
guenther <guenther@openbsd.org> |
Apply profiling to all threads instead of just the thread that called profil() by moving P_PROFIL from proc->p_flag to process->ps_flags with matching adjustment in fork1() and exit1()
ok matthew@
|