summaryrefslogtreecommitdiffstats
path: root/sys/vm
Commit message (Collapse)AuthorAgeFilesLines
...
* Eliminate an unused parameter from vm_pageout_object_deactivate_pages().alc2003-04-301-6/+5
|
* Add vm_object locking to vmspace_swap_count().alc2003-04-301-5/+6
|
* Remove unused declarations and definitions.alc2003-04-291-6/+0
|
* Deprecate machine/limits.h in favor of new sys/limits.h.kan2003-04-291-2/+1
| | | | | | | Change all in-tree consumers to include <sys/limits.h> Discussed on: standards@ Partially submitted by: Craig Rodrigues <rodrigc@attbi.com>
* - Lock the vm_object when performing swap_pager_isswapped().alc2003-04-282-14/+17
| | | | - Assert that the vm_object is locked in swap_pager_isswapped().
* uma_zone_set_obj() must perform VM_OBJECT_LOCK_INIT() if the calleralc2003-04-281-2/+3
| | | | provides storage for the vm_object.
* - Define VM_OBJECT_LOCK_INIT().alc2003-04-282-5/+6
| | | | | - 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-264-9/+22
| | | | | - 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-262-2/+2
| | | | swap_pager_freespace().
* Remove an XXX comment. It is no longer a problem.alc2003-04-261-4/+1
|
* - Don't bother using the proc lock to test just P_SYSTEM as that is set injhb2003-04-251-8/+6
| | | | | | fork1() and never changes. - The proc lock is enough to cover reading p_state, so push down sched_lock into the PRS_NORMAL case of the switch on p_state.
* - Lock the vm_object when iterating over its list of resident pages.alc2003-04-251-0/+8
|
* - Relax the Giant required in vm_page_remove().alc2003-04-251-3/+2
| | | | | | | | | | - Remove the Giant required from vm_page_free_toq(). (Any locking errors will be caught by vm_page_remove().) This remedies a panic that occurred when kmem_malloc(NOWAIT) performed without Giant failed to allocate the necessary pages. Reported by: phk
* - Move swap_pager_isswapped()'s prototype to a more logical place.alc2003-04-242-1/+1
|
* - Acquire the vm_object's lock when performing vm_object_page_clean().alc2003-04-245-14/+17
| | | | | | - 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.)
* Fix compiling in the NO_SWAPPING case.jhb2003-04-231-5/+7
| | | | Submitted by: bde (partially)
* Lock the proc to check p_flag and several other related tests injhb2003-04-221-2/+5
| | | | vm_daemon(). We don't need to hold sched_lock as long now as a result.
* Prefer the proc lock to sched_lock when testing PS_INMEM now that it isjhb2003-04-221-3/+4
| | | | safe to do so.
* - Always call faultin() in _PHOLD() if PS_INMEM is clear. This closes ajhb2003-04-221-42/+36
| | | | | | | | | | | | | | | | | | | | | | race where a thread could assume that a process was swapped in by PHOLD() when it actually wasn't fully swapped in yet. - In faultin(), always msleep() if PS_SWAPPINGIN is set instead of doing this check after bumping p_lock in the PS_INMEM == 0 case. Also, sched_lock is only needed for setting and clearning swapping PS_* flags and the swap thread inhibitor. - Don't set and clear the thread swap inhibitor in the same loops as the pmap_swapin/out_thread() since we have to do it under sched_lock. Instead, mimic the treatment of the PS_INMEM flag and use separate loops to set the inhibitors when clearing PS_INMEM and clear the inhibitors when setting PS_INMEM. - swapout() now returns with the proc lock held as it holds the lock while adjusting the swapping-related PS_* flags so that the proc lock can be used to test those flags. - Only use the proc lock to check the swapping-related PS_* flags in several places. - faultin() no longer requires sched_lock to be held by callers. - Rename PS_SWAPPING to PS_SWAPPINGOUT to be less ambiguous now that we have PS_SWAPPINGIN.
* Revision 1.246 should have also includedalc2003-04-221-1/+2
| | | | | | | - Weaken the assertion in vm_page_insert() to require Giant only if the vm_object isn't locked. Reported by: "Ilmar S. Habibulin" <ilmar@watson.org>
* Remove unused declarations.alc2003-04-221-4/+0
|
* Revision 1.52 of vm/uma_core.c has led to UMA's obj_alloc() beingalc2003-04-221-3/+2
| | | | | | | | | | | | | | called without Giant; and obj_alloc() in turn calls vm_page_alloc() without Giant. This causes an assertion failure in vm_page_alloc(). Fortunately, obj_alloc() is now MPSAFE. So, we need only clean up some assertions. - Weaken the assertion in vm_page_lookup() to require Giant only if the vm_object isn't locked. - Remove an assertion from vm_page_alloc() that duplicates a check performed in vm_page_lookup(). In collaboration with: gallatin, jake, jeff
* Add VM_OBJECT_LOCKED().alc2003-04-221-0/+1
|
* - 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().
* - Update the vm_object locking in vm_map_insert().alc2003-04-201-8/+13
|
* - Lock the vm_object when performing vm_object_pip_wakeup().alc2003-04-201-2/+2
| | | | - Merge two identical cases in a switch statement.
* - Lock the vm_object when performing vm_object_pip_wakeup().alc2003-04-201-0/+10
|
* - Lock the vm_object when performing vm_object_pip_add().alc2003-04-201-4/+3
| | | | - Remove an unnecessary variable.
* Update vm_object locking in vm_map_delete().alc2003-04-201-5/+9
|
* - Lock the vm_object when performing vm_object_pip_add().alc2003-04-204-1/+14
|
* - Lock the vm_object when performing vm_object_pip_subtract().alc2003-04-192-0/+5
| | | | - 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-193-1/+7
| | | | | - Assert that the vm_object lock is held in vm_object_pip_wakeupn(). - Add a new macro VM_OBJECT_LOCK_ASSERT().
* o Update locking around vm_object_page_remove() in vm_map_clean()alc2003-04-191-4/+2
| | | | | | to use the new macros. o Remove unnecessary increment and decrement of the vm_object's reference count in vm_map_clean().
* Lock the vm_object in obj_alloc().alc2003-04-191-0/+2
|
* Update locking around vm_object_page_remove() to use the new macros.alc2003-04-181-2/+2
|
* Don't grab Giant in slab_zalloc() if M_NOWAIT is specified. Thisgallatin2003-04-181-4/+9
| | | | | | | should allow the use of INTR_MPSAFE network drivers. Tested by: njl Glanced at by: jeff
* suser() does not need the proc lock, just the setting of P_PROTECTED injhb2003-04-171-4/+5
| | | | p_flag needs the lock.
* Add some tunable descriptions.trhodes2003-04-171-2/+2
| | | | | Submitted by: hmp Discussed with: bde
* Pre-content whitespace commit.trhodes2003-04-171-4/+4
| | | | Discussed with: bde
* Update locking on the kmem_object to use the new macros.alc2003-04-151-7/+7
|
* Update locking on the kernel_object to use the new macros.alc2003-04-141-2/+2
|
* 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-132-4/+6
|
* Lock some manipulations of the vm object's flags.alc2003-04-131-7/+7
|
* Add new macros for locking and unlocking a vm object.alc2003-04-131-0/+3
|
OpenPOWER on IntegriCloud