summaryrefslogtreecommitdiffstats
path: root/sys/vm
Commit message (Collapse)AuthorAgeFilesLines
* Initialize b_saveaddr when we hand out pbufsphk2003-06-201-2/+3
|
* The so-called "optimized copy-on-write fault" case should not requirealc2003-06-201-9/+2
| | | | | | | the vm map lock. What's really needed is vm object locking, which is (for the moment) provided Giant. Reviewed by: tegge
* Assert that the vm object is locked in vm_page_try_to_free().alc2003-06-191-0/+2
|
* Fix a vm object reference leak in the page-based copy-on-write mechanismalc2003-06-191-1/+1
| | | | | | used by the zero-copy sockets implementation. Reviewed by: gallatin
* Lock the vm object when freeing a vm page.alc2003-06-181-0/+14
|
* This file was ignored by CVS in my last commit for some reason:phk2003-06-161-1/+0
| | | | | Remove pointless initialization of b_spc field, which now no longer exists.
* Add the same KASSERT to all VOP_STRATEGY and VOP_SPECSTRATEGY implementationsphk2003-06-151-0/+2
| | | | to check that the buffer points to the correct vnode.
* Remove an unnecessary forward declaration.alc2003-06-151-2/+1
|
* Use #ifdef __alpha__, not __alpha.alc2003-06-151-2/+2
|
* Migrate the thread stack management functions from the machine-dependentalc2003-06-143-9/+177
| | | | | | | | | | | | | | | | to the machine-independent parts of the VM. At the same time, this introduces vm object locking for the non-i386 platforms. Two details: 1. KSTACK_GUARD has been removed in favor of KSTACK_GUARD_PAGES. The different machine-dependent implementations used various combinations of KSTACK_GUARD and KSTACK_GUARD_PAGES. To disable guard page, set KSTACK_GUARD_PAGES to 0. 2. Remove the (unnecessary) clearing of PG_ZERO in vm_thread_new. In 5.x, (but not 4.x,) PG_ZERO can only be set if VM_ALLOC_ZERO is passed to vm_page_alloc() or vm_page_grab().
* Move the *_new_altkstack() and *_dispose_altkstack() functions out of thealc2003-06-143-2/+33
| | | | | various pmap implementations into the machine-independent vm. They were all identical.
* Extend the scope of the vm object lock in swp_pager_async_iodone() to coveralc2003-06-131-3/+4
| | | | a vm_page_free().
* Add vm object locking to various pagers' "get pages" methods, i386 stackalc2003-06-135-7/+17
| | | | management functions, and a u area management function.
* Use __FBSDID().obrien2003-06-1123-41/+69
|
* GC unused cpu_wait() functionpeter2003-06-111-1/+0
|
* - Finish vm object and page locking in vnode_pager_setsize().alc2003-06-101-26/+21
| | | | | - Make some small style changes to vnode_pager_setsize(); most notably, move two comments to a more logical place.
* Revert last commit, I have no idea what happened.phk2003-06-091-1/+1
|
* A white-space nit I noticed.phk2003-06-091-1/+1
|
* Hold the vm object's lock when performing vm_page_lookup().alc2003-06-091-0/+2
|
* Don't use vm_object_set_flag() to initialize the vm object's flags.alc2003-06-091-1/+1
|
* - Properly handle the paging_in_progress case on two vm objects inalc2003-06-081-26/+16
| | | | | vm_object_deallocate(). - Remove vm_object_pip_sleep().
* Lock the kernel object in kmem_alloc().alc2003-06-071-0/+2
|
* Teach vm_page_grab() how to handle the vm object's lock.alc2003-06-071-4/+16
|
* Assert that the vm object is locked on entry to swap_pager_freespace().alc2003-06-071-1/+1
|
* Pass the vm object to vm_object_collapse() with its lock held.alc2003-06-072-10/+7
|
* Fix NFS file swapping, I broke it 3 months ago it seems.phk2003-06-051-6/+6
|
* - Extend the scope of the backing object's lock in vm_object_collapse().alc2003-06-051-2/+4
|
* - Add further vm object locking to vm_object_deallocate(), specifically,alc2003-06-041-2/+12
| | | | for accessing a vm object's shadows.
* - Add VM_OBJECT_TRYLOCK().alc2003-06-041-0/+1
|
* - Add vm object locking to vm_object_deallocate(). (Still morealc2003-06-042-17/+15
| | | | | | changes are required.) - Remove special-case macros for kmem object locking. They are no longer used.
* Add vm object locking to vm_object_coalesce().alc2003-06-031-7/+12
|
* Change kernel_object and kmem_object to (&kernel_object_store) andalc2003-06-012-8/+8
| | | | | (&kmem_object_store), respectively. This allows the address of these objects to be resolved at link-time rather than run-time.
* Prepend _ to internal union members to avoid ambiguity.phk2003-05-311-4/+4
| | | | Found by: FlexeLint
* Remove unused variablesphk2003-05-311-4/+0
| | | | Found by: FlexeLint
* Add vm object locking to vm_object_madvise().alc2003-05-311-9/+17
|
* If we seem to be out of VM, don't allow the pagedaemon to killdas2003-05-191-7/+8
| | | | | | | | | | | | | processes in the first pass. Among other things, this will give us a chance to launder vnode-backed pages before concluding that we need more swap. This is particularly useful for systems that have no swap. While here, update a comment and remove some long-unused code. Reported by: Lucky Green <shamrock@cypherpunks.to> Suggested by: dillon Approved by: re (rwatson)
* Reduce the size of a vm object by converting its shadow list from a TAILQalc2003-05-182-24/+12
| | | | | | to a LIST. Approved by: re (rwatson)
* - Merge struct procsig with struct sigacts.jhb2003-05-131-11/+1
| | | | | | | | | | | | | | | | | - Move struct sigacts out of the u-area and malloc() it using the M_SUBPROC malloc bucket. - Add a small sigacts_*() API for managing sigacts structures: sigacts_alloc(), sigacts_free(), sigacts_copy(), sigacts_share(), and sigacts_shared(). - Remove the p_sigignore, p_sigacts, and p_sigcatch macros. - Add a mutex to struct sigacts that protects all the members of the struct. - Add sigacts locking. - Remove Giant from nosys(), kill(), killpg(), and kern_sigaction() now that sigacts is locked. - Several in-kernel functions such as psignal(), tdsignal(), trapsignal(), and thread_stopped() are now MP safe. Reviewed by: arch@ Approved by: re (rwatson)
* Give the kmem object's mutex a unique name, instead of "vm object",alc2003-05-091-1/+6
| | | | | | to avoid false reports of lock-order reversal with a system map mutex. Approved by: re (jhb)
* Lock the vm_object when performing vm_pager_deallocate().alc2003-05-064-6/+11
|
* Extend the scope of the vm_object lock in vm_object_terminate().alc2003-05-041-4/+4
|
* Avoid a lock-order reversal and implement vm_object lockingalc2003-05-041-8/+8
| | | | in vm_pageout_page_free().
* Lock the vm_object on entry to vm_object_vndeallocate().alc2003-05-031-1/+4
|
* - Revert kern/vfs_subr.c revision 1.444. The vm_object's size isn'talc2003-05-031-4/+6
| | | | | | | | | trustworthy for vnode-backed objects. - Restore the old behavior of vm_object_page_remove() when the end of the given range is zero. Add a comment to vm_object_page_remove() regarding this behavior. Reported by: iedowse
* Move a declaration to its proper place.alc2003-05-032-1/+1
|
* Lock the vm_object when updating its shadow list.alc2003-05-021-2/+10
|
* Simplify the removal of a shadow object in vm_object_collapse().alc2003-05-021-3/+3
|
* Extend the scope of the vm_object locking in vm_object_split().alc2003-05-011-4/+4
|
* - Update the vm_object locking in vm_object_reference().alc2003-05-011-10/+8
| | | | - Convert some dead code in vm_object_reference() into a comment.
* Increase the scope of the vm_object lock in vm_map_delete().alc2003-04-301-12/+13
|
OpenPOWER on IntegriCloud