Age | Commit message (Collapse) | Author |
|
1GB i386 machines needs this. The fix is heavily based on Jason Thorpe's
found in NetBSD. Here is his original commit message:
Instead of checking vm_physmem[<physseg>].pgs to determine if
uvm_page_init() has completed, add a boolean uvm.page_init_done,
and test against that. Use this same boolean (rather than
pmap_initialized) in pmap_growkernel() to determine if we are
being called via uvm_page_init() to grow the kernel address space.
This fixes a problem on some i386 configurations where pmap_init()
itself was needing to have the kernel page table grown, and since
pmap_initialized was not yet set to TRUE, pmap_growkernel() was
choosing the wrong code path.
|
|
when we free it; art@ ok
|
|
on NetBSD's code, as well as some faked Posix RT extensions by me. This makes
at least simple linuxthreads tests work.
|
|
|
|
|
|
|
|
|
|
Be more careful in amap_alloc1 when handling failed allocations. We could have
incorrectly returned success when the first or second of three allocations
failed.
|
|
instead of depending on the callers to do that. (which they don't)
|
|
|
|
|
|
Implements mincore(2), mlockall(2) and munlockall(2). mlockall and munlockall
are disabled for the moment.
The rest is mostly cosmetic.
|
|
with a 'make build'. From NetBSD. art@ ok
|
|
just got cranked a little while ago. discussion with millert
|
|
wrapper, so this removes a dependence on the old VM system. From NetBSD.
art@ ok
|
|
Otherwise we can end up in a situation where the syncer waits for pages
and the pagedaemon waits for buffers.
|
|
With soft updates, writing out pages to disk can cause a bunch of allocations.
|
|
Change VM/UVM to use buf_replacevnode to change the vnode associated
with a buffer.
Addition v_bioflag for flags written in interrupt handlers
(and read at splbio, though not strictly necessary)
Add vwaitforio and use it instead of a while loop of v_numoutput.
Fix race conditions when manipulation vnode free list
|
|
|
|
|
|
|
|
|
|
This is to match (make diffs smaller) the code in NetBSD.
new gcc inlines those functions, so this could also be a performance win.
|
|
|
|
Only change vm_dsize if the allocation succeeded.
From Jason Thorpe.
|
|
Plus misc cleanup.
|
|
|
|
break swap paritions into sections, each section has own
encryption key. if a section's key becomes unreferenced, erase it.
|
|
|
|
large memory machines. This time I really hope we can continue quite a bit
away over the Gig.
|
|
|
|
|
|
sysctl.
|
|
|
|
|
|
- Introduce a new type of map that are interrupt safe and never allow faults
in them. mb_map and kmem_map are made intrsafe.
- Add "access protection" to uvm_vslock (to be passed down to uvm_fault and
later to pmap_enter).
- madvise(2) now works.
- various cleanups.
|
|
|
|
|
|
|
|
|
|
|
|
via sysctl.
Pages are encrypted with the Blowfish encryption algorithm, the key
is initialized randomly on first swap out, ensuring that entropy has
accumulated in the kernel randomness pool. Eventually, swap encryption
will be decided on a process by process basis, e.g. a process that reads from
a cryptographic filesystem will enable swap encrypt for its pages. okay
art@ and deraadt@.
|
|
legitimate cases.
|
|
|
|
|
|
right uvm_map flags values, also fix the error ondition check.
couple of spaces vs tabs in the same code spot.
art@ ok
|
|
the access type that caused this mapping. This is to simplify pmaps
with mod/ref emulation (none for the moment) and in some cases speed
up pmap_is_{referenced,modified}.
At the same time, clean up some mappings that had too high protection.
XXX - the access type is incorrect in old vm, it's only used by uvm and MD code.
The actual use of this in pmap_enter implementations is not in this commit.
|
|
Mostly cleanups, but also a few improvements to pagedaemon for better
handling of low memory and/or low swap conditions.
|
|
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.
|
|
|