Age | Commit message (Collapse) | Author |
|
|
|
initialized. Calling malloc(9) at that point is not a good idea. So
initialize consbuf later.
Fixes dmesg -s on sparc64 (and probably a few other architectures).
ok miod@, deraadt@
|
|
|
|
before you, to see their files reduced to ashes, to see those who
love them shrouded in tears, and to gather into your API all their
invocations.
In other words, workq is no more. There is only taskq.
ok kettenis@ dlg@ (creator of taskq) jmc@
|
|
doesn't have all the values and therefore can't be used everywhere.
ok deraadt@ kettenis@
|
|
objective: vnode.h doesn't include uvm_extern.h anymore.
followup changes: include uvm_extern.h or lock.h where necessary.
ok and help from deraadt
|
|
eliminating the must-be-kept-in-sync UVM_INH_* macros
ok deraadt@ tedu@
|
|
|
|
Regression spotted by tobiasu@.
XXX I wonder if the page zeroing thread shouldn't perform explicit
XXX pmap_update(pmap_kernel()) calls after each page zeroing... but that
XXX might not be enough.
|
|
PROT_NONE, PROT_READ, PROT_WRITE, and PROT_EXEC from mman.h.
PROT_MASK is introduced as the one true way of extracting those bits.
Remove UVM_ADV_* wrapper, using the standard names.
ok doug guenther kettenis
|
|
causes a deadlock between reaper and zerothread I am currently investigating.
|
|
introduce a new sysctl, hw.perfpolicy, that governs the policy.
when set to anything other than manual, hw.setperf then becomes read only.
phessler was heading in this direction, but this is slightly different. :)
|
|
|
|
|
|
enabled by setting hw.setperf=-1. some other bugs preventing this from
going in before have been fixed. my thanks to phessler for keeping the
diff alive in the mean time. tested by several to not regress.
|
|
way we can do some useful kernel lock in parallel with other things and create
a reservoir of zeroed pages ready for use elsewhere. This should reduce
latency. The thread runs at the absolutel lowest priority such that we don't
keep other kernel threads or userland from doing useful work.
Can be easily disabled by disabling the kthread_create(9) call in main().
Which perhaps we should do for non-MP kernels.
ok deraadt@, tedu@
|
|
|
|
Remember initprocess instead of initproc.
ok matthew@ blambert@
|
|
don't need to be married.
ok guenther miod beck jsing kettenis
|
|
|
|
to the process's vmspace and filedescs. struct proc continues to
keep copies of the pointers, copying them on fork, clearing them
on exit, and (for vmspace) refreshing on exec.
Also, make uvm_swapout_threads() thread aware, eliminating p_swtime
in kernel.
particular testing by ajacoutot@ and sebastia@
|
|
and FORK_SYSTEM as a flag to set them. This eliminates needing to
peek into other processes threads in various places. Inspired by NetBSD
ok miod@ matthew@
|
|
to avoid possible use-after-free references when swapping ids in threaded
processes. "Do I have the right creds?" checks are always made with the
threads creds.
Inspired by FreeBSD and NetBSD
"right time" deraadt@
|
|
any context if they feel like it.
ok deraadt@, guenther@
(who both suggested we could probably grab it even earlier)
|
|
struct ucred; struct process then directly links to the ucred
Based on a discussion at c2k10 or so before noting that FreeBSD and
NetBSD did this too.
ok matthew@
|
|
ok dlg@ mpi@ deraadt@
|
|
<uvm/uvm.h> if possible and remove double inclusions.
ok beck@, mlarkin@, deraadt@
|
|
Tweak the handling of ktrace EMUL when changing ktracing: only
generate one per process (not one per thread) and pass the correct
proc pointer down to the VFS layer. Permit generating of NAMI and
CSW records inside ktrace(2) itself.
ok deraadt@ millert@
|
|
testing help mpi@
|
|
Linux-compat clone() syscall when *not* using CLONE_THREAD. pirofti@
confirms Opera runs in compat without this, so out it goes; one less hair
to choke on in kern_exit.c
ok tedu@ pirofti@
|
|
make it a list of processes, and change P_NOZOMBIE and P_STOPPED from thread
flags to process flags. Add allprocess list for the code that just wants
to see processes.
ok tedu@
|
|
on first call, very early on, from boot-supplied entropy, then feed from
that. Later when we have more subsystems ready, the main() can properly
initialize the entropy-driven model. Lots of discussion with mikeb.
ok kettenis markus mikeb
|
|
|
|
Initialize ci_randseed better using arc4random() + a trick. Remove the
libkern srandom() API since it is not suitable for this use.
ok kettenis miod
|
|
is no longer providing significant value. The random subsystem is in
pretty good state, and moments later userland will feed the dmesg.
ok jsing
|
|
point at which everything it does is safe, including msg buffer access.
ok kettenis jsing
|
|
|
|
spotted by kettenis
|
|
compat pointed out by miod), and place it inside the ELF .openbsd.randomdata
segment. Inside main(), only re-initialize the guard if the bootblocks
failed to initialize it for us.
|
|
and do not need microtime.
|
|
arc4random() much earlier. Leading to random pids for anything
besides 0 and 1.
|
|
use TAILQ_*_SAFE more than might be needed.
Bulk ports build by sthen@ showed nobody sticking their fingers
so deep into the kernel.
Feedback and suggestions from millert@. ok jsing@
|
|
tasks are modelled on the timeout api, so users familiar with
timeout_set, timeout_add, and timeout_del will already know what
to expect from task_set, task_add, and task_del.
i wrote this because workq_add_task can fail in the place you
actually need it, and there arent any good ways of recovering at
that point. workq_queue_task was added to try and help, but required
external state to be stored for users of that api to know whether
something was already queued or not.
workqs also didnt provide a way to cancel or remove work.
this has been percolating with a bunch of people. putting it in as i
wrote it so i can apply their feedback to the code with the history kept
in cvs.
|
|
- the mpath hooks path drivers call dont have to parse autoconf
structures to tell if mpath may attach in the future. it now either
has already attached or never will, which is simpler to check.
- i can get rid of the global mpath target array by moving it into
the mpath softc because of the above.
- makes reasoning about state transitions (especially around when
to attach) when groups of paths are implemented a lot simpler
the only real caveat is dmesg feng shui may be ruined. i can come
back and look at this after i move mpath itself forward though.
discussed with deraadt@ miod@
ok todd@ matthew@ krw@
|
|
ok matthew@ deraadt@
|
|
.h files to pull it in, if needed
ok tedu
|
|
from hshoexer@; ok tedu@, "looks good" deraadt@
|
|
|
|
|
|
executable and DSO (via crtbegin.c/crtbeginS.c). Not used yet, but
needed before GCC can start emitting -fstack-protector code that uses
them instead of __guard.
|