Age | Commit message (Collapse) | Author |
|
have any direct symbols used. Tested for indirect use by compiling
amd64/i386/sparc64 kernels.
ok tedu@ deraadt@
|
|
|
|
Thanks to tedu for hinting that I may have been the victim of UVM's lies,
which pointed me in this direction.
ok tedu
|
|
Use this on vax to correctly pick the end of the stack area now that the
stackgap adjustment code will no longer guarantee it is a fixed location.
|
|
define in sys/limits.h. OK guenther@
|
|
- rename uiomove() to uiomovei() and update all its users.
- introduce uiomove(), which is similar to uiomovei() but with a size_t.
- rewrite uiomovei() as an uiomove() wrapper.
ok kettenis@
|
|
vm_minsaddr or vm_maxsaddr, depending upon the direction the stack goes in.
This should have no effect on the existing behaviourrr.
ok kettenis@ deraadt@
|
|
ok deraadt@
|
|
mappable memory (direct or via execve), perhaps because of the address
allocator behind maps and the way wiring counts work?
|
|
(VM_MAX_KERNEL_ADDRESS - VM_MIN_KERNEL_ADDRESS). This will allow these to no
longer be constants in the future.
ok guenther@
|
|
ok tedu@, guenther@, miod@
|
|
are not necessary because the caller already ensures these. the tail
section for handing mlock can be shared as well.
ok beck guenther
|
|
for everything else.
-Adapt the anon version to be callable without the biglock held.
Done by tedu@, kettenis@ and me.. pounded on a bunch.
This does not yet make mmap a NOLOCK call, but permits it to be so.
ok tedu@, kettenis@, guenther@ jsing@
|
|
comment (one is fixed, one is deleted).
ok kettenis beck
|
|
and then double check we didn't lose the unavoidable race.
ok beck guenther kettenis miod
|
|
ok deraadt@, miod@
|
|
when workqs were introduced, we provided a second argument so you
could pass a thing and some context to work on it in. there were
very few things that took advantage of the second argument, so when
i introduced pools i suggested removing it. since tasks were meant
to replace workqs, it was requested that we keep the second argument
to make porting from workqs to tasks easier.
now that workqs are gone, i had a look at the use of the second
argument again and found only one good use of it (vdsp(4) on sparc64
if you're interested) and a tiny handful of questionable uses. the
vast majority of tasks only used a single argument. i have since
modified all tasks that used two args to only use one, so now we
can remove the second argument.
so this is a mechanical change. all tasks only passed NULL as their
second argument, so we can just remove it.
ok krw@
|
|
by the caller on architectures that implement them. Make sure that we
physically align memory such that we meet any demands on virtual alignment
in this case. This should reduce the overhead of mapping large pool pages
for pools that request dma'able memory.
ok deraadt@, dlg@
|
|
per-process value, and therefpore turns the VM_PSSTRINGS sysctl into a
per-process one as well. This gets rid of a pointer to the bottom of the
stack at a fixed location. Also clears the road for unmapping the stackgap.
ok deraadt@
|
|
vndbuf allocation.
luke-warm support and ok krw@
|
|
|
|
We can use pool_setipl instead of doing the dance ourselves.
The bufpool is already setipl, we don't need to dance at all. We
should zero the buf.
ok deraadt dlg
|
|
|
|
|
|
era. fix uvm including c files to include lock.h or atomic.h as necessary.
ok deraadt
|
|
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
|
|
the reaper spending more than half its time in uvm_pause. we want the
system to be interactive, but we want throughput too. this seems like a
decent balance.
|
|
eliminating the must-be-kept-in-sync UVM_INH_* macros
ok deraadt@ tedu@
|
|
ok deraadt@ tedu@
|
|
This adds a new sysctl KERN_PROC_VMMAP, which returns an array of VM map
entries of a specified process. This prevents debuggers from iterating
vm_map_entry RB tree via kvm(3).
The name KERN_PROC_VMMAP and struct kinfo_vmentry are chosen from the same
function in FreeBSD. struct kinfo_vmentry is revised to reduce size, because
OpenBSD does not keep track of filepaths. The semantic is also changed to
return max buffer size as a hint, and start iteration at the specified base
address.
Much valuable input from deraadt@, guenther@, tedu@
OK tedu@ deraadt@
|
|
|
|
in there. It explicitly changes the mapping of that memory to RX, but this
only works if the maximum protection of the mapping includes PROT_EXEC.
ok miod@, deraadt@
|
|
the bureau of party loyalty for reeducation.
|
|
mappings via this interface (nothing uses it, in any case)
ok uebayasi tedu
|
|
ok miod@
|
|
to include that than rdnvar.h. ok deraadt dlg
|
|
just the base permission but the maxprot as well.
ok tedu
|
|
that is executable.
ok tedu kettenis guenther
|
|
show the maxprot available in obreak mappings. (the default remains
PROT_READ | PROT_WRITE, so don't be afraid).
ok tedu
|
|
rearrange things in mountswap to delay malloc and always allocate
needed size.
|
|
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
|
|
|
|
|
|
|
|
|
|
ok krw@ sthen@
|
|
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@
|
|
cause a SIGSEGV or SIGBUS when a mapped file gets truncated. Access to
pages that are not backed by a file on such a mapping will be replaced by
zero-filled anonymous pages. Makes passing file descriptors of mapped files
usable without having to play tricks with signal handlers.
"steal your mmap flag" deraadt@
|
|
ok mpi@ kspillner@
|