| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
| |
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
|
| |
|
|
|
|
|
|
|
| |
vm_object_reference(), this function must not be used to reanimate dead
vm objects. This restriction simplifies locking.
Reviewed by: tegge
|
|
|
|
| |
- Remove the acquisition and release of Giant from vm_object_coalesce().
|
|
|
|
|
|
| |
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.
|
|
|
|
|
| |
- New vm object locking assertions in vm_page_insert() and
vm_object_set_writeable_dirty()
|
|
|
|
|
| |
function. This function is so trivial that inlining reduces the size
of the kernel.
|
|
|
|
|
| |
from vm_object_madvise().
- Remove excessive blank lines from vm_object_madvise().
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
| |
vm recursion and LORs. This may be necessary for other zones created in
the vm but this needs to be verified.
|
| |
|
| |
|
|
|
|
|
|
|
|
| |
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.
|
| |
|
| |
|
|
|
|
| |
Gcc has silently not been doing this for a long time.
|
|
|
|
|
| |
deal with the case where we need to sleep on a busy page with two vm object
locks held.
|
|
|
|
|
| |
- Assert that the vm object and its backing vm object are both locked in
vm_object_qcollapse().
|
| |
|
| |
|
|
|
|
|
| |
vm_object_deallocate().
- Remove vm_object_pip_sleep().
|
| |
|
| |
|
|
|
|
| |
for accessing a vm object's shadows.
|
|
|
|
|
|
| |
changes are required.)
- Remove special-case macros for kmem object locking. They are
no longer used.
|
| |
|
|
|
|
|
| |
(&kmem_object_store), respectively. This allows the address of these
objects to be resolved at link-time rather than run-time.
|
| |
|
|
|
|
|
|
| |
to a LIST.
Approved by: re (rwatson)
|
|
|
|
|
|
| |
to avoid false reports of lock-order reversal with a system map mutex.
Approved by: re (jhb)
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
|
| |
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
|
| |
|
| |
|
| |
|
| |
|
|
|
|
| |
- Convert some dead code in vm_object_reference() into a comment.
|
|
|
|
|
| |
- 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().
|
|
|
|
|
| |
- In vm_object_deallocate(), lock the child when removing the parent
from the child's shadow list.
|
|
|
|
|
| |
(2) remove a pointless assertion, and (3) make a trivial change to a
comment.
|
|
|
|
|
|
|
|
|
|
| |
- 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.
|
| |
|
|
|
|
|
| |
- Make vm_object_pip_sleep() static.
- Lock the vm_object when performing vm_object_pip_wait().
|
|
|
|
| |
swap_pager_freespace().
|
|
|
|
|
|
| |
- 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.)
|
|
|
|
|
|
|
| |
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().
|
|
|
|
| |
vm_object_pip_wakeup().
|