History log of /openbsd-src/sys/kern/kern_fork.c (Results 226 – 250 of 268)
Revision Date Author Comments
# 8ef75ebf 19-Sep-2001 mickey <mickey@openbsd.org>

merge vm/vm_kern.h into uvm/uvm_extern.h; art@ ok


# d49226e9 27-Jun-2001 art <art@openbsd.org>

no more fork braindamage


# a0321e10 27-Jun-2001 art <art@openbsd.org>

mips_cachealias is no more


# 636eb109 27-Jun-2001 art <art@openbsd.org>

remove old vm


# 1e2a4b7d 02-Apr-2001 niklas <niklas@openbsd.org>

On popular demand, the Linux-compatibility clone(2) implementation based
on NetBSD's code, as well as some faked Posix RT extensions by me. This makes
at least simple linuxthreads tests work.


# 9dc70864 23-Mar-2001 art <art@openbsd.org>

Use pool to allocate processes.


# 239beb7c 13-Feb-2001 art <art@openbsd.org>

More sane spl handling. Don't just assume that we're called at spl0.


# 1a12e8a7 16-Nov-2000 provos <provos@openbsd.org>

support kernel event queues, from FreeBSD by Jonathan Lemon,
okay art@, millert@


# a2ea660f 09-Nov-2000 art <art@openbsd.org>

PHOLD/PRELE instead manual fiddling with p_holdcnt


# e06bf5c2 10-Jul-2000 deraadt <deraadt@openbsd.org>

last change was not tested on VM systems


# 7ea77953 07-Jul-2000 art <art@openbsd.org>

The rfork sharing of vmspace is .. special and was broken with UVM.
Add a new flag to fork1 - FORK_VMNOSTACK that shares all of the vmspace
except the stack and use it for rfork.


# 3f2d366d 18-Jun-2000 niklas <niklas@openbsd.org>

Mark kernel threads as system processes. Make ps hide them by default,
show them with -k. Do not try to show RSS based values for them as they
mess up column alignment. vmstat -f now shows kernel

Mark kernel threads as system processes. Make ps hide them by default,
show them with -k. Do not try to show RSS based values for them as they
mess up column alignment. vmstat -f now shows kernel threads separately
from rforks too.

show more ...


# d256b03a 23-Mar-2000 art <art@openbsd.org>

Don't reinitialize the tsleep and ITIMER_REAL timers all the time.
The function and the argument never change.


# 5c8c1e2d 03-Mar-2000 art <art@openbsd.org>

Use the LIST_FIRST macro to get the head of zombproc list.


# 6d09544f 03-Mar-2000 art <art@openbsd.org>

Use LIST_ macros instead of internal field names to walk the allproc list.


# 9070782a 21-Feb-2000 art <art@openbsd.org>

dead code and symbol pollution.


# afda0050 31-Jan-2000 deraadt <deraadt@openbsd.org>

re-add fixed vfork code from art


# 6e1dc36c 31-Jan-2000 deraadt <deraadt@openbsd.org>

undo vfork changes, since non-UVM was not considered


# 011c8ed2 28-Jan-2000 art <art@openbsd.org>

Change fork1() from taking forktype and rforkflags, into a single flags
argument. Let sys_rfork build the arguments to fork1() and do the
sanity checks itself.


# 9c209027 17-Aug-1999 niklas <niklas@openbsd.org>

New cpu_fork API to take a stack in which you point the child's stackpointer
to, at the bottom or the top, depending on your architecture's stack growth
direction. This is in preparation for Linux'

New cpu_fork API to take a stack in which you point the child's stackpointer
to, at the bottom or the top, depending on your architecture's stack growth
direction. This is in preparation for Linux' clone(2) emulation.
port maintainers, please check that I did the work right.

show more ...


# 52f4ec15 15-Aug-1999 pjanzen <pjanzen@openbsd.org>

Adopt NetBSD fix for scheduler problems (nice was broken). From the NetBSD
commit messages:

Scheduler bug fixes and reorganization
* fix the ancient nice(1) bug, where nice +20 processes incorrectl

Adopt NetBSD fix for scheduler problems (nice was broken). From the NetBSD
commit messages:

Scheduler bug fixes and reorganization
* fix the ancient nice(1) bug, where nice +20 processes incorrectly
steal 10 - 20% of the CPU, (or even more depending on load average)
* provide a new schedclock() mechanism at a new clock at schedhz, so high
platform hz values don't cause nice +0 processes to look like they are
niced
* change the algorithm slightly, and reorganize the code a lot
* fix percent-CPU calculation bugs, and eliminate some no-op code

=== nice bug === Correctly divide the scheduler queues between niced and
compute-bound processes. The current nice weight of two (sort of, see
`algorithm change' below) neatly divides the USRPRI queues in half; this
should have been used to clip p_estcpu, instead of UCHAR_MAX. Besides
being the wrong amount, clipping an unsigned char to UCHAR_MAX is a no-op,
and it was done after decay_cpu() which can only _reduce_ the value. It
has to be kept <= NICE_WEIGHT * PRIO_MAX - PPQ or processes can
scheduler-penalize themselves onto the same queue as nice +20 processes.
(Or even a higher one.)

=== New schedclock() mechanism === Some platforms should be cutting down
stathz before hitting the scheduler, since the scheduler algorithm only
works right in the vicinity of 64 Hz. Rather than prescale hz, then scale
back and forth by 4 every time p_estcpu is touched (each occurance an
abstraction violation), use p_estcpu without scaling and require schedhz
to be generated directly at the right frequency. Use a default stathz (well,
actually, profhz) / 4, so nothing changes unless a platform defines schedhz
and a new clock.
[ To do: Define these for alpha, where hz==1024, and nice was totally broke.]

=== Algorithm change === The nice value used to be added to the
exponentially-decayed scheduler history value p_estcpu, in _addition_ to
be incorporated directly (with greater weight) into the priority calculation.
At first glance, it appears to be a pointless increase of 1/8 the nice
effect (pri = p_estcpu/4 + nice*2), but it's actually at least 3x that
because it will ramp up linearly but be decayed only exponentially, thus
converging to an additional .75 nice for a loadaverage of one. I killed
this: it makes the behavior hard to control, almost impossible to analyze,
and the effect (~~nothing at for the first second, then somewhat increased
niceness after three seconds or more, depending on load average) pointless.

=== Other bugs === hz -> profhz in the p_pctcpu = f(p_cpticks) calcuation.
Collect scheduler functionality. Try to put each abstraction in just one
place.

show more ...


# a855b65b 17-Jul-1999 art <art@openbsd.org>

correct fork statistics for UVM


# d01f7d6a 15-Jul-1999 art <art@openbsd.org>

vm_offset_t -> {v,p}addr_t ; vm_size_t -> {v,p}size_t


# a27ed422 12-Mar-1999 deraadt <deraadt@openbsd.org>

in scheduler, bias parents for child cpu usage; ross@ghs.com


# ebd6dabb 02-Mar-1999 niklas <niklas@openbsd.org>

RFNOWAIT does not dissociate the child from its parent in any other
way than that the parent wait call will never get the status of this child,
says Rob


1234567891011