summaryrefslogtreecommitdiffstats
path: root/sys/vm/vm_object.c
Commit message (Collapse)AuthorAgeFilesLines
...
* Pass the vm object to vm_object_collapse() with its lock held.alc2003-06-071-8/+5
|
* - 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 locking to vm_object_deallocate(). (Still morealc2003-06-041-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().alc2003-06-031-7/+12
|
* Change kernel_object and kmem_object to (&kernel_object_store) andalc2003-06-011-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().alc2003-05-311-9/+17
|
* Reduce the size of a vm object by converting its shadow list from a TAILQalc2003-05-181-22/+10
| | | | | | to a LIST. 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-061-1/+1
|
* Extend the scope of the vm_object lock in vm_object_terminate().alc2003-05-041-4/+4
|
* 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-031-1/+0
|
* 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.
* - Define VM_OBJECT_LOCK_INIT().alc2003-04-281-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.alc2003-04-271-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,alc2003-04-271-13/+16
| | | | | (2) remove a pointless assertion, and (3) make a trivial change to a comment.
* Various changes to vm_object_page_remove():alc2003-04-261-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().alc2003-04-261-2/+4
|
* - Convert vm_object_pip_wait() from using tsleep() to msleep().alc2003-04-261-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 coveralc2003-04-261-1/+1
| | | | swap_pager_freespace().
* - Acquire the vm_object's lock when performing vm_object_page_clean().alc2003-04-241-8/+4
| | | | | | - Add a parameter to vm_pageout_flush() that tells vm_pageout_flush() whether its caller has locked the vm_object. (This is a temporary measure to bootstrap vm_object locking.)
* - Assert that the vm_object is locked in vm_object_clear_flag(),alc2003-04-211-5/+7
| | | | | | | vm_object_pip_add() and vm_object_pip_wakeup(). - Remove GIANT_REQUIRED from vm_object_pip_subtract() and vm_object_pip_subtract(). - Lock the vm_object when performing vm_object_page_remove().
* - Lock the vm_object when performing either vm_object_clear_flag() oralc2003-04-201-1/+13
| | | | vm_object_pip_wakeup().
* - Lock the vm_object when performing vm_object_pip_add().alc2003-04-201-1/+6
|
* - Lock the vm_object when performing vm_object_pip_subtract().alc2003-04-191-0/+1
| | | | - Assert that the vm_object lock is held in vm_object_pip_subtract().
* - Lock the vm_object when performing vm_object_pip_wakeupn().alc2003-04-191-0/+1
| | | | | - Assert that the vm_object lock is held in vm_object_pip_wakeupn(). - Add a new macro VM_OBJECT_LOCK_ASSERT().
* Lock some manipulations of the vm object's flags.alc2003-04-131-0/+2
|
* Lock some manipulations of the vm object's flags.alc2003-04-131-0/+2
|
* Permit vm_object_pip_add() and vm_object_pip_wakeup() on the kmem_objectalc2003-04-131-2/+4
| | | | without Giant held.
* - Add vm_paddr_t, a physical address type. This is required for systemsjake2003-03-251-1/+1
| | | | | | | | | | | | | | | where physical addresses larger than virtual addresses, such as i386s with PAE. - Use this to represent physical addresses in the MI vm system and in the i386 pmap code. This also changes the paddr parameter to d_mmap_t. - Fix printf formats to handle physical addresses >4G in the i386 memory detection code, and due to kvtop returning vm_paddr_t instead of u_long. Note that this is a name change only; vm_paddr_t is still the same as vm_offset_t on all currently supported platforms. Sponsored by: DARPA, Network Associates Laboratories Discussed with: re, phk (cdevsw change)
* Including <sys/stdint.h> is (almost?) universally only to be able to usephk2003-03-181-1/+0
| | | | | %j in printfs, so put a newsted include in <sys/systm.h> where the printf prototype lives and save everybody else the trouble.
* Remove ENABLE_VFS_IOOPT. It is a long unfinished work-in-progress.alc2003-03-061-134/+0
| | | | Discussed on: arch@
* Back out M_* changes, per decision of the TRB.imp2003-02-191-1/+1
| | | | Approved by: trb
* Simplify vm_object_page_remove(): The object's memq is now ordered. Thealc2003-01-271-62/+31
| | | | | two cases that existed before for performance optimization purposes can be reduced to one.
* Remove M_TRYWAIT/M_WAITOK/M_WAIT. Callers should use 0.alfred2003-01-211-1/+1
| | | | Merge M_NOWAIT/M_DONTWAIT into a single flag M_NOWAIT.
* Use vm_object_lock() and vm_object_unlock() in vm_object_deallocate().alc2003-01-041-5/+5
| | | | | (This procedure needs further work, but this change is sufficient for locking the kmem_object.)
* Refine the assertion in vm_object_clear_flag() to allow operation on thealc2003-01-031-1/+2
| | | | | kmem_object without Giant. In that case, assert that the kmem_object's mutex is held.
* Correct typos, mostly s/ a / an / where appropriate. Some whitespace cleanup,schweikh2003-01-011-1/+1
| | | | especially in troff files.
* - Remove vm_object_init2(). It is unused.alc2002-12-291-6/+3
| | | | | | - Add a mtx_destroy() to vm_object_collapse(). (This allows a bzero() to migrate from _vm_object_allocate() to vm_object_zinit(), where it will be performed less often.)
* Reduce the number of times that we acquire and release the page queuesalc2002-12-291-2/+2
| | | | | lock by making vm_page_rename()'s caller, rather than vm_page_rename(), responsible for acquiring it.
* Allow the VM object flushing code to cluster. When the filesystem syncerdillon2002-12-281-3/+10
| | | | | | | | | | | | | comes along and flushes a file which has been mmap()'d SHARED/RW, with dirty pages, it was flushing the underlying VM object asynchronously, resulting in thousands of 8K writes. With this change the VM Object flushing code will cluster dirty pages in 64K blocks. Note that until the low memory deadlock issue is reviewed, it is not safe to allow the pageout daemon to use this feature. Forced pageouts still use fs block size'd ops for the moment. MFC after: 3 days
* - Change vm_object_page_collect_flush() to assert rather thanalc2002-12-271-6/+5
| | | | | acquire the page queues lock. - Acquire the page queues lock in vm_object_page_clean().
* - Hold the page queues lock around vm_page_wakeup().alc2002-12-241-3/+6
|
* Add a mutex to struct vm_object. Initialize and destroy that mutexalc2002-12-201-0/+4
| | | | | at appropriate times. For the moment, the mutex is only used on the kmem_object.
* Remove the hash_rand field from struct vm_object. As of revision 1.215 ofalc2002-12-191-12/+1
| | | | vm/vm_page.c, it is unused.
OpenPOWER on IntegriCloud