Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | Don't acquire Giant in vm_object_deallocate() unless the object is vnode- | alc | 2004-01-18 | 1 | -8/+12 |
| | | | | backed. | ||||
* | Revision 1.74 of vm_meter.c ("Avoid lock-order reversal") makes the release | alc | 2004-01-02 | 1 | -2/+0 |
| | | | | | and subsequent reacquisition of the same vm object lock in vm_object_collapse() unnecessary. | ||||
* | - Modify vm_object_split() to expect a locked vm object on entry and | alc | 2003-12-30 | 1 | -15/+10 |
| | | | | | return on a locked vm object on exit. Remove GIANT_REQUIRED. - Eliminate some unnecessary local variables from vm_object_split(). | ||||
* | - Rename vm_map_clean() to vm_map_sync(). This better reflects the fact | alc | 2003-11-09 | 1 | -0/+69 |
| | | | | | | | | | | that msync(2) is its only caller. - Migrate the parts of the old vm_map_clean() that examined the internals of a vm object to a new function vm_object_sync() that is implemented in vm_object.c. At the same, introduce the necessary vm object locking so that vm_map_sync() and vm_object_sync() can be called without Giant. Reviewed by: tegge | ||||
* | - Increase the scope of two vm object locks in vm_object_split(). | alc | 2003-11-02 | 1 | -2/+2 |
| | |||||
* | - Introduce and use vm_object_reference_locked(). Unlike | alc | 2003-11-02 | 1 | -2/+24 |
| | | | | | | | vm_object_reference(), this function must not be used to reanimate dead vm objects. This restriction simplifies locking. Reviewed by: tegge | ||||
* | - Increase the scope of two vm object locks in vm_object_collapse(). | alc | 2003-11-01 | 1 | -12/+4 |
| | | | | - Remove the acquisition and release of Giant from vm_object_coalesce(). | ||||
* | - Modify swap_pager_copy() and its callers such that the source and | alc | 2003-11-01 | 1 | -23/+6 |
| | | | | | | destination objects are locked on entry and exit. Add comments to the callers noting that the locks can be released by swap_pager_copy(). - Remove several instances of GIANT_REQUIRED. | ||||
* | - Additional vm object locking in vm_object_split() | alc | 2003-11-01 | 1 | -2/+11 |
| | | | | | - New vm object locking assertions in vm_page_insert() and vm_object_set_writeable_dirty() | ||||
* | - Revert a part of revision 1.73: Make vm_object_set_flag() an inline | alc | 2003-10-31 | 1 | -6/+0 |
| | | | | | function. This function is so trivial that inlining reduces the size of the kernel. | ||||
* | - Take advantage of the swap pager locking: Eliminate the use of Giant | alc | 2003-10-31 | 1 | -9/+0 |
| | | | | | from vm_object_madvise(). - Remove excessive blank lines from vm_object_madvise(). | ||||
* | - Simplify vm_object_collapse()'s collapse case, reducing the number | alc | 2003-10-26 | 1 | -14/+9 |
| | | | | | | of lock acquires and releases performed. - Move an assertion from vm_object_collapse() to vm_object_zdtor() because it applies to all cases of object destruction. | ||||
* | - Increase the object lock's scope in vm_contig_launder() so that access | alc | 2003-10-18 | 1 | -1/+1 |
| | | | | | | | | | to the object's type field and the call to vm_pageout_flush() are synchronized. - The above change allows for the eliminaton of the last parameter to vm_pageout_flush(). - Synchronize access to the page's valid field in vm_pageout_flush() using the containing object's lock. | ||||
* | - Use the UMA_ZONE_VM flag on the fakepg and object zones to prevent | jeff | 2003-10-04 | 1 | -1/+1 |
| | | | | | vm recursion and LORs. This may be necessary for other zones created in the vm but this needs to be verified. | ||||
* | Remove GIANT_REQUIRED from vm_object_shadow(). | alc | 2003-09-17 | 1 | -2/+0 |
| | |||||
* | Eliminate the use of Giant from vm_object_reference(). | alc | 2003-09-15 | 1 | -11/+11 |
| | |||||
* | There is no need for an atomic increment on the vm object's generation | alc | 2003-09-13 | 1 | -2/+1 |
| | | | | | | | | count in _vm_object_allocate(). (Access to the generation count is governed by the vm object's lock.) Note: the introduction of the atomic increment in revision 1.238 appears to be an accident. The purpose of that commit was to fix an Alpha-specific bug in UMA's debugging code. | ||||
* | Remove an unused variable. | phk | 2003-08-06 | 1 | -3/+0 |
| | |||||
* | Allow vm_object_reference() on kernel_object without Giant. | alc | 2003-07-27 | 1 | -2/+4 |
| | |||||
* | Don't inline very large functions. | phk | 2003-07-22 | 1 | -1/+1 |
| | | | | Gcc has silently not been doing this for a long time. | ||||
* | Complete the vm object locking in vm_object_backing_scan(); specifically, | alc | 2003-06-22 | 1 | -5/+12 |
| | | | | | deal with the case where we need to sleep on a busy page with two vm object locks held. | ||||
* | - Increase the scope of the vm object lock in vm_object_collapse(). | alc | 2003-06-21 | 1 | -3/+4 |
| | | | | | - Assert that the vm object and its backing vm object are both locked in vm_object_qcollapse(). | ||||
* | Use __FBSDID(). | obrien | 2003-06-11 | 1 | -2/+3 |
| | |||||
* | Don't use vm_object_set_flag() to initialize the vm object's flags. | alc | 2003-06-09 | 1 | -1/+1 |
| | |||||
* | - Properly handle the paging_in_progress case on two vm objects in | alc | 2003-06-08 | 1 | -26/+16 |
| | | | | | vm_object_deallocate(). - Remove vm_object_pip_sleep(). | ||||
* | Pass the vm object to vm_object_collapse() with its lock held. | alc | 2003-06-07 | 1 | -8/+5 |
| | |||||
* | - Extend the scope of the backing object's lock in vm_object_collapse(). | alc | 2003-06-05 | 1 | -2/+4 |
| | |||||
* | - Add further vm object locking to vm_object_deallocate(), specifically, | alc | 2003-06-04 | 1 | -2/+12 |
| | | | | for accessing a vm object's shadows. | ||||
* | - Add vm object locking to vm_object_deallocate(). (Still more | alc | 2003-06-04 | 1 | -12/+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(). | alc | 2003-06-03 | 1 | -7/+12 |
| | |||||
* | Change kernel_object and kmem_object to (&kernel_object_store) and | alc | 2003-06-01 | 1 | -6/+3 |
| | | | | | (&kmem_object_store), respectively. This allows the address of these objects to be resolved at link-time rather than run-time. | ||||
* | Add vm object locking to vm_object_madvise(). | alc | 2003-05-31 | 1 | -9/+17 |
| | |||||
* | Reduce the size of a vm object by converting its shadow list from a TAILQ | alc | 2003-05-18 | 1 | -22/+10 |
| | | | | | | to a LIST. Approved by: re (rwatson) | ||||
* | Give the kmem object's mutex a unique name, instead of "vm object", | alc | 2003-05-09 | 1 | -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(). | alc | 2003-05-06 | 1 | -1/+1 |
| | |||||
* | Extend the scope of the vm_object lock in vm_object_terminate(). | alc | 2003-05-04 | 1 | -4/+4 |
| | |||||
* | Lock the vm_object on entry to vm_object_vndeallocate(). | alc | 2003-05-03 | 1 | -1/+4 |
| | |||||
* | - Revert kern/vfs_subr.c revision 1.444. The vm_object's size isn't | alc | 2003-05-03 | 1 | -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. | alc | 2003-05-03 | 1 | -1/+0 |
| | |||||
* | Lock the vm_object when updating its shadow list. | alc | 2003-05-02 | 1 | -2/+10 |
| | |||||
* | Simplify the removal of a shadow object in vm_object_collapse(). | alc | 2003-05-02 | 1 | -3/+3 |
| | |||||
* | Extend the scope of the vm_object locking in vm_object_split(). | alc | 2003-05-01 | 1 | -4/+4 |
| | |||||
* | - Update the vm_object locking in vm_object_reference(). | alc | 2003-05-01 | 1 | -10/+8 |
| | | | | - Convert some dead code in vm_object_reference() into a comment. | ||||
* | - Define VM_OBJECT_LOCK_INIT(). | alc | 2003-04-28 | 1 | -5/+4 |
| | | | | | - Avoid repeatedly mtx_init()ing and mtx_destroy()ing the vm_object's lock using UMA's uminit callback, in this case, vm_object_zinit(). | ||||
* | - Tell witness that holding two or more vm_object locks is okay. | alc | 2003-04-27 | 1 | -2/+4 |
| | | | | | - In vm_object_deallocate(), lock the child when removing the parent from the child's shadow list. | ||||
* | Various changes to vm_object_shadow(): (1) update the vm_object locking, | alc | 2003-04-27 | 1 | -13/+16 |
| | | | | | (2) remove a pointless assertion, and (3) make a trivial change to a comment. | ||||
* | Various changes to vm_object_page_remove(): | alc | 2003-04-26 | 1 | -7/+7 |
| | | | | | | | | | | - Eliminate an odd, special-case feature: if start == end == 0 then all pages are removed. Only one caller used this feature and that caller can trivially pass the object's size. - Assert that the vm_object is locked on entry; don't bother testing for a NULL vm_object. - Style: Fix lines that are longer than 80 characters. | ||||
* | - Lock the vm_object on entry to vm_object_terminate(). | alc | 2003-04-26 | 1 | -2/+4 |
| | |||||
* | - Convert vm_object_pip_wait() from using tsleep() to msleep(). | alc | 2003-04-26 | 1 | -5/+9 |
| | | | | | - Make vm_object_pip_sleep() static. - Lock the vm_object when performing vm_object_pip_wait(). | ||||
* | - Extend the scope of two existing vm_object locks to cover | alc | 2003-04-26 | 1 | -1/+1 |
| | | | | swap_pager_freespace(). |