yamt
ec5a93183a
merge yamt-uio_vmspace branch.
...
- use vmspace rather than proc or lwp where appropriate.
the latter is more natural to specify an address space.
(and less likely to be abused for random purposes.)
- fix a swdmover race.
2006-03-01 12:38:10 +00:00
drochner
2d1a0b57b6
kill the "fault_type" argument to pager's pgo_fault() methods
...
it is never used
(and using it would comprise an abstraction violation imho)
2006-02-22 22:28:18 +00:00
bjh21
0638b201c9
Include page ownership information in the output of the DDB "show all pages"
...
command if UVM_PAGE_TRKOWN is enabled.
2006-02-22 22:20:56 +00:00
bjh21
ed2f09f139
Add a "show all pages" command to DDB which prints one line per physical
...
page in the system. Useful for getting some idea where all your memory's
gone, at least on a sufficiently small system.
2006-02-19 18:52:29 +00:00
perry
fbae48b901
Change "inline" back to "__inline" in .h files -- C99 is still too
...
new, and some apps compile things in C89 mode. C89 keywords stay.
As per core@.
2006-02-16 20:17:12 +00:00
yamt
9040ed946b
- amap_copy: take a "flags" argument instead of booleans.
...
- add AMAP_COPY_NOMERGE flag, and use it for uvm_map_extract.
PR/32806 from Julio M. Merino Vidal.
2006-02-15 14:06:45 +00:00
yamt
f382834c1a
share some code between uvmpd_scan_inactive and uvmpd_scan.
2006-02-14 15:06:27 +00:00
yamt
16f42c29a4
fix a compilation problem where PAGE_SHIFT is not a constant.
...
pointed by Chuck Silvers.
2006-02-14 02:28:21 +00:00
yamt
e6e15660e2
remove an outdated comment.
2006-02-13 14:41:22 +00:00
yamt
62eb3a15e1
factor out swap clustering code.
2006-02-12 09:19:59 +00:00
yamt
2a89e06daa
uvm_pageunwire: use uvm_pageactivate rather than a copy.
2006-02-12 09:19:27 +00:00
yamt
a3af4c1530
remove the following options. no objections on tech-kern@.
...
UVM_PAGER_INLINE
UVM_AMAP_INLINE
UVM_PAGE_INLINE
UVM_MAP_INLINE
2006-02-11 12:45:07 +00:00
simonb
8b00a8c689
Make a note that some counters should be 64-bit as they wrap far to
...
quickly.
2006-02-10 00:53:04 +00:00
yamt
acb669a7cf
handle "strange" filesystems like layered filesystems and tmpfs,
...
where pgo_get returns pages which don't belong to the uobj.
also fix an XXX in uvm_loananon and lock-unlock mismatch in uvm_loanuobj.
PR/28372, PR/32665 (Alan Barrett).
2006-01-31 14:11:25 +00:00
yamt
43ed84382c
re-apply uvm_fault.c 1.104. fixes will follow.
2006-01-31 14:05:47 +00:00
yamt
f03efb066e
uvm_mremap: whitespace.
2006-01-31 14:03:53 +00:00
yamt
7fcddedf0b
revert uvm_fault.c 1.104 for now. see PR/28372, PR/32665.
2006-01-30 11:50:17 +00:00
yamt
f67f4b05f1
uvm_mremap: fix "easy cases".
2006-01-23 07:53:01 +00:00
matt
7db3afd210
Fix u_int64_t -> uint64_t stragglers.
2006-01-21 18:57:45 +00:00
yamt
e8e7ab8637
implement compat_linux mremap.
2006-01-21 13:34:15 +00:00
yamt
651bed2a01
- uvm_fault: move a common code of 1B and 2B to a new function.
...
don't attempt to allocate anons with kernel_map locked. PR/32543.
- amap_copy: add an assertion.
2006-01-21 13:13:07 +00:00
yamt
5865f6ed1d
uvm_map_replace: remove a wrong comment.
2006-01-21 13:10:41 +00:00
chs
5570661cd8
in amap_alloc(), only put the amap on the list of amaps if we succeeded
...
in allocating it.
2006-01-18 17:03:36 +00:00
yamt
b88fc0e1b7
make some debug statistics evcnt.
2006-01-15 08:31:31 +00:00
yamt
37dd42949a
clean up uvm_map evcnt code. no functional changes.
2006-01-08 09:18:27 +00:00
yamt
dc9b2af242
uvmpd_scan_inactive: when reactivating a page,
...
use pmap_is_referenced rather than pmap_clear_reference.
we don't need to clear the bit here as we'll do so when
moving pages back to inactive queue again. pointed by Chuck Silvers.
2006-01-05 10:47:33 +00:00
yamt
690d424f28
- add simple functions to allocate/free a buffer for i/o.
...
- make bufpool static.
2006-01-04 10:13:05 +00:00
perry
3d4ed1fbc7
__inline__ -> inline
2005-12-24 23:41:33 +00:00
perry
0f0296d88a
Remove leading __ from __(const|inline|signed|volatile) -- it is obsolete.
2005-12-24 20:45:08 +00:00
yamt
2b91131918
uao_get: don't mark pages dirty unless it's a write fault.
2005-12-24 13:22:13 +00:00
yamt
79265831ba
uvmpd_scan: when deactivating a page, clear its reference bit.
...
discussed on tech-kern@.
2005-12-21 12:24:47 +00:00
yamt
ca08761347
whitespace in SYSCTL_DESCR.
2005-12-21 12:23:44 +00:00
yamt
4fce5d6f5e
make length of inactive queue tunable by sysctl. (vm.inactivepct)
2005-12-21 12:19:04 +00:00
skrll
dd1a604b66
Whitespace
2005-12-20 08:25:58 +00:00
christos
95e1ffb156
merge ktrace-lwp.
2005-12-11 12:16:03 +00:00
chs
b794108bfa
Avoid leaking memory if uiomove fails. from openbsd via PR 32251.
2005-12-06 16:01:13 +00:00
yamt
ebf0820ef4
uao_pagein_page: pass PGO_SYNCIO to uao_get.
...
uao_get doesn't always assume PGO_SYNCIO after yamt-readahead merge.
reported and a dump provided by Masanori Kanaoka.
2005-12-05 01:24:07 +00:00
yamt
b09859311d
add files i forgot to add when merging yamt-readahead branch.
2005-11-29 23:37:59 +00:00
yamt
221616873d
merge yamt-readahead branch.
2005-11-29 22:52:02 +00:00
yamt
52f0a62851
read-ahead statistics.
2005-11-29 15:45:28 +00:00
thorpej
ff810990b2
Move UVM files to files.uvm
2005-11-27 22:18:41 +00:00
simonb
155c8bd666
Whitespace nit.
2005-11-09 12:47:39 +00:00
yamt
9df1f09b91
add a function to drop all swap slots in a given range. for tmpfs.
...
XXX maybe it's better to implement true truncation.
2005-11-08 23:02:22 +00:00
chs
5332333501
in amap_cow_now(), handle the case where we have to sleep and some of the
...
already-copied pages are paged out. anons that have already been copied
will have refcount == 1, whereas anons that still need to be copied will
have refcount > 1. fixes PR 25392, PR 30257, PR 31924.
2005-11-06 15:57:32 +00:00
yamt
94ce3d822f
don't include uvm_*_i.h unless needed,
...
to reduce bogus header dependencies.
2005-10-30 11:56:51 +00:00
chs
da3f825c26
remove the assertion in uvm_swapout_threads() about LSONPROC lwps
...
not running on the same CPU as the swapper. l_stat is protected by
sched_lock, which isn't held here, so we can race with that lwp
starting to run and see its l_cpu not updated yet, as in PR 31870.
we check l_stat again in uvm_swapout() while holding sched_lock,
so the race itself is harmless.
2005-10-24 00:26:37 +00:00
yamt
aec75b1cc6
- change the way to specify a bufq strategy. (by string rather than by number)
...
- rather than embedding bufq_state in driver softc,
have a pointer to the former.
- move bufq related functions from kern/subr_disk.c to kern/subr_bufq.c.
- rename method to strategy for consistency.
- move some definitions which don't need to be exposed to the rest of kernel
from sys/bufq.h to sys/bufq_impl.h.
(is it better to move it to kern/ or somewhere?)
- fix some obvious breakage in dev/qbus/ts.c. (not tested)
2005-10-15 17:29:10 +00:00
chs
9307d68e6a
stop converting async msync() to sync.
...
this hasn't been needed for years (if it ever was).
2005-10-10 15:53:28 +00:00
yamt
bddc9e47fe
add a file which i forgot when reviving VMSWAP option.
2005-09-21 10:21:46 +00:00
yamt
b63b4e8324
- make uvm_swap_stats acquire swap_syscall_lock by itsself
...
so that callers don't need to acquire it beforehand.
- make swap_syscall_lock static.
2005-09-17 14:51:50 +00:00