ad
ae6c4143ce
Move a couple of calls to pmap_update().
2008-12-20 11:33:38 +00:00
ad
ecddde33a2
Update a comment.
2008-07-04 10:22:35 +00:00
ad
be04ac4896
Make rusage collection per-LWP and collate in the appropriate places.
...
cloned threads need a little bit more work but the locking needs to
be fixed first.
2008-03-27 19:06:51 +00:00
yamt
2b40f35040
push pmap_clear_reference calls into pdpolicy code, where reference bits
...
actually matter.
2008-01-18 10:48:23 +00:00
ad
4a780c9ae2
Merge vmlocking2 to head.
2008-01-02 11:48:20 +00:00
ad
4c92a21547
Remove LOCK_ASSERT(!simple_lock_held(&foo));
2007-10-11 19:53:37 +00:00
ad
4688843d2b
Merge unobtrusive locking changes from the vmlocking branch.
2007-07-21 19:21:53 +00:00
thorpej
b3667ada6d
TRUE -> true, FALSE -> false
2007-02-22 06:05:00 +00:00
thorpej
712239e366
Replace the Mach-derived boolean_t type with the C99 bool type. A
...
future commit will replace use of TRUE and FALSE with true and false.
2007-02-21 22:59:35 +00:00
yamt
fc88d88996
put ->K loaned pages on the page queue, so that page loaning doesn't
...
disturb pagedaemon/pdpolicy.
2006-12-15 13:51:30 +00:00
yamt
10cd898fb8
uvm_fault: fix an assertion. PR/35134 from Christos Zoulas.
...
it can be triggered by minherit as well.
2006-12-01 19:15:22 +00:00
yamt
c6970b82a3
uvm_fault: unwrap a short line.
2006-11-28 13:16:37 +00:00
yamt
9de1cdc8fe
move some knowledge about vnode into uvm_vnode.c.
2006-10-12 10:14:20 +00:00
christos
b01cc3ff0a
Coverity CID 3170,3171: Add KASSERT.
2006-10-03 18:26:03 +00:00
yamt
9d3e3eab23
merge yamt-pdpolicy branch.
...
- separate page replacement policy from the rest of kernel
- implement an alternative replacement policy
2006-09-15 15:51:12 +00:00
yamt
c03e4d19d3
add assertions.
2006-04-11 09:28:14 +00:00
drochner
e10923fd37
-clean up the interface to uvm_fault: the "fault type" didn't serve
...
any purpose (done by a macro, so we don't save any cycles for now)
-kill vm_fault_t; it is not needed for real faults, and for simulated
faults (wiring) it can be replaced by UVM internal flags
-remove <uvm/uvm_fault.h> from uvm_extern.h again
2006-03-15 18:09:25 +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
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
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
7fcddedf0b
revert uvm_fault.c 1.104 for now. see PR/28372, PR/32665.
2006-01-30 11:50:17 +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
perry
0f0296d88a
Remove leading __ from __(const|inline|signed|volatile) -- it is obsolete.
2005-12-24 20:45:08 +00:00
christos
95e1ffb156
merge ktrace-lwp.
2005-12-11 12:16:03 +00:00
yamt
6fbf5bf6f1
wrap swap related code by #ifdef VMSWAP. always #define VMSWAP for now.
2005-09-13 22:00:05 +00:00
yamt
38ca5312d2
revert "defflag VMSWAP" changes for now.
...
there seems to be far more people who don't want to edit
their kernel config files than i thought.
2005-07-31 04:04:30 +00:00
yamt
1d0891101c
defflag VMSWAP.
2005-07-30 06:33:33 +00:00
yamt
b7bfe82866
update file timestamps for nfsd loaned-read and mmap.
...
PR/25279. discussed on tech-kern@.
2005-07-23 12:18:41 +00:00
yamt
62cab9eab7
uvm_fault: check a correct object in the case of layered filesystems.
...
fix PR/30811 from Jukka Salmi.
2005-07-22 14:57:39 +00:00
yamt
8af42d8d3c
ensure that vnodes with dirty pages are always on syncer's queue.
...
- genfs_putpages: wait for i/o completion of PG_RELEASED/PG_PAGEOUT pages by
setting "wasclean" false when encountering them.
suggested by Stephan Uphoff in PR/24596 (1).
- genfs_putpages: write protect pages when cleaning out, if
we're going to take the vnode off the syncer's queue.
uvm_fault: don't write-map pages unless its vnode is already on
the syncer's queue.
fix PR/24596 (3) but in the different way from the suggested fix.
(to keep our current behaviour, ie. not to require explicit msync.
discussed on tech-kern@.)
- genfs_putpages: don't mistakenly take a vnode off the queue
by introducing a generation number in genfs_node.
genfs_getpages: increment the generation number.
suggested by Stephan Uphoff in PR/24596 (2).
- add some assertions.
2005-07-17 12:27:47 +00:00
thorpej
e569facced
Use ANSI function decls.
2005-06-27 02:19:48 +00:00
yamt
662ada8f7a
allocate anons on-demand, rather than reserving static amount of
...
them on boot/swapon.
2005-05-11 13:02:25 +00:00
yamt
7f37519f2c
uvmfault_anonget: check uvm_reclaimable() where appropriate.
2005-04-27 15:19:17 +00:00
yamt
01c07ef7bd
fix unreasonably frequent "killed: out of swap" on systems which have
...
little or no swap.
- even on a severe swap shortage, if we have some amount of file-backed pages,
don't bother to kill processes.
- if all pages in queue will be likely reactivated, just give up
page type balancing rather than spinning unnecessarily.
2005-04-12 13:11:45 +00:00
chs
64d6a08278
use TRUE and FALSE instead of 1 and 0 for boolean_t.
2005-02-28 15:33:04 +00:00
yamt
9fe116ce3a
uvm_fault: fix integer overflow so that MADV_SEQUENTIAL
...
can work on large files.
2005-02-07 11:57:38 +00:00
yamt
c4d95d51f4
uvm_fault: pass NULL pap to pmap_extract where we don't need paddr.
2005-01-01 09:14:49 +00:00
yamt
8368dac6a2
fix a amap_wirerange deadlock problem by re-introducing
...
PG_RELEASED for anon pages. PR/23171 from Christian Limpach.
for details, see discussion filed in the PR database.
uvm_anon_release: a new function to free anon-owned PG_RELEASED page.
uvm_anfree: we can't wait for the page here because the caller might hold
amap lock. instead, just mark the page as PG_RELEASED.
who unbusy the page should check the PG_RELEASED.
uvm_aio_aiodone: uvm_anon_release() instead of uvm_page_unbusy()
if appropriate.
uvmfault_anonget: check PG_RELEASED.
2004-05-05 11:54:32 +00:00
junyoung
325f5482a8
Nuke __P().
2004-03-24 07:55:01 +00:00
yamt
9359a18b6a
uvm_fault: check loan_count of neighborhood object page properly.
...
PR/24595 from Stephan Uphoff.
2004-03-02 11:43:44 +00:00
dbj
c32c758d2d
s/fauling/faulting/
2004-02-10 00:40:06 +00:00
pk
3bef941831
Make sure to call uvm_swap_free() and uvm_swap_markbad() with valid (i.e.
...
positive) slot numbers.
2003-08-11 16:44:35 +00:00
pk
5869d91cb9
Introduce uvm_swapisfull(), which computes the available swap space by
...
taking into account swap devices that are in the process of being removed.
2003-08-11 16:33:30 +00:00
yamt
719bd826c5
use uvm_loanbreak in uvm_fault.
2003-05-03 17:57:50 +00:00
pk
c7cbbfeead
uvm_fault: case 1B: lock page queue before calling uvm_pageactivate().
2003-02-09 22:32:21 +00:00
thorpej
b78f59b443
Merge the nathanw_sa branch.
2003-01-18 08:51:40 +00:00
yamt
3a7bfaf54e
change "uoff" to voff_t from vaddr_t as it's offset within uvm object.
...
fix PR/18855.
2002-10-30 05:24:33 +00:00
thorpej
ae8d1b60df
When breaking an loan due to a page fault, check to see if the other
...
kind of reference-holder (anon or object) is referencing the page. If
not, then the page must be removed from the pageq's.
Reviewed by Chuck Silvers.
2002-09-02 21:09:50 +00:00
chs
d510857ed4
be sure that the page we allocate to break a loan is put on a paging queue.
...
fixes PR 18037.
2002-08-29 05:03:30 +00:00