| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
| |
Remove MPSAFE and ARGUSED annotations, ANSI-fy syscall handlers.
|
|
|
|
| |
Style, use tab after #define.
|
|
|
|
| |
This allows processes to be identified by PID as well as a pointer address.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Tidy up the early parts of vm_map_insert().
MFC r267645 (by alc):
When MAP_STACK_GROWS_{DOWN,UP} are passed to vm_map_insert() set the
corresponding flag(s) in the new map entry.
Pass MAP_STACK_GROWS_DOWN to vm_map_insert() from vm_map_growstack() when
extending the stack in the downward direction.
MFC r267850 (by alc):
Place the check that blocks map entry coalescing on stack entries in
vm_map_simplify_entry().
MFC r267917 (by alc):
Delay the call to crhold() in vm_map_insert() until we know that we won't
have to undo it by calling crfree().
Eliminate an unnecessary variable from vm_map_insert().
MFC r311014:
Style fixes for vm_map_insert().
Tested by: pho
|
|
|
|
| |
Ansify vm/vm_pager.c. Style.
|
|
|
|
| |
Style.
|
|
|
|
|
| |
Assert that the pages found on the object queue by vm_page_next() and
vm_page_prev() have correct ownership.
|
|
|
|
| |
Remove redundancy in vmtotal().
|
|
|
|
| |
In swp_pager_meta_free_all(), fix type of the index variable. Style.
|
|
|
|
| |
Provide introductory description of the default pager.
|
|
|
|
| |
Move map_generation snapshot value into struct faultstate.
|
|
|
|
| |
Style.
|
|
|
|
|
|
| |
Move the fast fault path into the separate function.
Tested by: pho
|
|
|
|
| |
Change remained internal uses of boolean_t to bool in vm/vm_fault.c.
|
|
|
|
| |
Remove vm_pager_has_page() declaration.
|
|
|
|
| |
Remove vnode_locked label and goto.
|
|
|
|
|
|
| |
Initialize busy lock state and strengthen busy lock assertions.
Tested by: Oliver Pinter
|
|
|
|
|
|
|
| |
Add unlock_vp() helper.
MFC r308095 (by markj):
Add one more use of unlock_vp().
|
|
|
|
| |
Plug a vnode lock leak in vm_fault_hold().
|
|
|
|
| |
Fix a race in vm_page_busy_sleep(9).
|
|
|
|
|
| |
When downgrading exclusively busied page to shared-busy state, wakeup
waiters.
|
|
|
|
| |
Make swapoff reliable.
|
|
|
|
|
|
| |
Correct errors and clean up the comments on the active queue scan.
Eliminate some unnecessary blank lines.
|
|
|
|
| |
Release the second critical section in uma_zfree_arg() slightly earlier.
|
|
|
|
| |
Use vm_page_undirty() instead of manually setting a page field.
|
|
|
|
| |
De-pluralize "queues" in the pagedaemon code.
|
|
|
|
| |
Correct a spelling error.
|
|
|
|
|
|
|
|
| |
In vgonel(), postpone setting BO_DEAD until VOP_RECLAIM() is called,
if vnode is VMIO. For VMIO vnodes, set BO_DEAD in vm_object_terminate().
MFC r302580:
Fix grammar.
|
|
|
|
| |
Add a comment describing the 'fast path' that was introduced in r270011.
|
|
|
|
| |
Reset the page busy lock state after failing to insert into the object.
|
|
|
|
| |
Don't preserve the page's object linkage in vm_page_insert_after().
|
|
|
|
|
|
|
|
| |
Handle the vm_fault() handler race with the vm_object_collapse()
sleepable scan.
MFC r302317:
Change type of the 'dead' variable to boolean.
|
|
|
|
| |
Avoid the active object marking for vm.vmtotal sysctl.
|
|
|
|
| |
Explicitely initialize sw_alloc_sx.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Differential Revision: https://reviews.freebsd.org/D6803
Reviewed by: alc, kib
Sponsored by: EMC / Isilon Storage Division
r300220 (by cem):
sys/vmmeter.h: Fix trivial '-Wsign-compare' warning in common header
Frankly, it doesn't make sense for vm_pageout_wakeup_thresh to have a negative
value (it is only ever set to a fraction of v_free_min, which is unsigned and
also obviously non-negative). But I'm not going to try and convert every
non-negative scalar in the VM to unsigned today, so just cast it for the
comparison.
r300223 (by cem):
vm/vm_page.h: Fix trivial '-Wpointer-sign' warning
pq_vcnt, as a count of real things, has no business being negative. It is only
ever initialized by a u_int counter.
The warning came from the atomic_add_int() in vm_pagequeue_cnt_add().
Rectify the warning by changing the variable to u_int. No functional change.
Suggested by: Clang 3.3
|
|
|
|
|
| |
Do not leak the vm object lock when swap reservation failed, in
vm_object_coalesce().
|
|
|
|
| |
Prevent parallel object collapses.
|
|
|
|
| |
Style.
|
|
|
|
|
| |
In vm_page_cache(), only drop the vnode after radix insert failure
for empty page cache when the object type is OBJT_VNODE.
|
|
|
|
|
|
| |
In vm_page_alloc_contig(), on vm_page_insert() failure, mark each
freed page as VPO_UNMANAGED. Otherwise vm_pge_free_toq() insists on
owning the page lock.
|
|
|
|
| |
Giant is dropped by mi_startup() before passing the control to swapper.
|
|
|
|
|
| |
Avoid duplicated calls to pmap_page_get_memattr().
Avoid logging inconsistency for the /dev/mem device.
|
|
|
|
|
|
| |
Cleanup redundant parenthesis from existing howmany()/roundup() macro uses.
Requested by: dchagin
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Export various helper variables describing the layout and size of
certain kernel structures for use by debuggers. This mostly aids
in examining cores from a kernel without debug symbols as a debugger
can infer these values if debug symbols are available.
One set of variables describes the layout of 'struct linker_file' to
walk the list of loaded kernel modules.
A second set of variables describes the layout of 'struct proc' and
'struct thread' to walk the list of processes in the kernel and the
threads in each process.
The 'pcb_size' variable is used to index into the stoppcbs[] array.
The 'vm_maxuser_address' is used to distinguish kernel virtual addresses
from user addresses. This doesn't have to be perfect, and
'vm_maxuser_address' is a cheap and simple way to differentiate kernel
pointers from simple values like TIDs and PIDs.
While here, annotate the fields in struct pcb used by kgdb on amd64
and i386 to note that their ABI should be preserved. Annotations for
other platforms will be added in the future.
|
|
|
|
|
| |
Handle invalid pages found during the sleepable collapse scan, do not free
the shadow page swap space. Combine the sleep code.
|
|
|
|
|
| |
In vm_pageout_grow_cache(), do not re-try the inactive queue when
active queue scan initiated write, to avoid infinite loop.
|
|
|
|
|
| |
Raise OOM when pagedaemon is unable to produce a free page in several
back-to-back passes.
|
|
|
|
|
|
| |
Provide the OOM-specific vm_pageout_oom_pagecount() function which
estimates the amount of reclamaible memory which could be stolen if
the process is killed.
|
|
|
|
|
| |
Do not skip a process which has inhibited thread due to the swap-out,
in the OOM selection loop.
|
|
|
|
|
|
|
|
|
|
| |
Minor cleanup.
Systematically use ANSI C functions definitions.
Correct type of the flags argument to the dev_pager_putpages() function.
vm_pager_free_nonreq() does not exist in stable/10, this part is not
merged.
|