yamt
62abd426b4
make some functions static.
2009-02-18 13:16:58 +00:00
yamt
09ff411cf6
- g/c stale function prototypes.
...
- rename UVM_PAGE_HASH_PENALTY to UVM_PAGE_TREE_PENALTY.
2009-01-16 02:33:14 +00:00
rmind
b5eb577d50
- Initialize pool subsystem and kmem(9) earlier, when UVM is up enough.
...
- Remove uao_hashinit() workaround used for anon-objects.
- Replace malloc with kmem.
OK by <yamt>.
2008-10-18 03:46:22 +00:00
ad
1c7f0a02df
Use pool_cache.
2008-06-25 13:21:04 +00:00
ad
06c343ac94
vm_page: put TAILQ_ENTRY into a union with LIST_ENTRY, so we can use both.
2008-06-04 12:41:40 +00:00
ad
e1be8408a0
uao_reference, uao_detach: we don't do reference counting on kernel objects,
...
so don't lock them needlessly.
2008-06-03 11:51:01 +00:00
ad
e071d39c84
- Convert hashinit() to use kmem_alloc(). The hash tables can be large
...
and it's better to not have them in kmem_map.
- Convert a couple of minor items along the way to kmem_alloc().
- Fix some memory leaks.
2008-05-05 17:11:16 +00:00
ad
185d25c158
Minor corrections to comments.
2008-02-27 14:23:33 +00:00
yamt
0a2b10db61
uao_put: fix a race with pageout.
2008-02-27 13:46:20 +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
yamt
e8abff70f2
constify pagerops.
2007-12-01 10:40:27 +00:00
yamt
062f8e82a2
use designated initiaizers for uvm_pagerops.
2007-12-01 10:18:21 +00:00
pooka
4d42eff4e1
In uao_get(), drop object lock only after dropswap to avoid KASSERT panic.
...
Should fix tmpfs problem reported by riz on current-users. yamt ok.
2007-08-05 10:19:23 +00:00
ad
615eff98fc
In order to pacify assertions, make uao_list_lock + uvm_swap_data_lock
...
spinlocks for the time being.
2007-07-24 19:59:35 +00:00
ad
e7e35c1d1d
Temporarily work around an assertion from mutex_enter.
2007-07-21 22:14:42 +00:00
ad
4688843d2b
Merge unobtrusive locking changes from the vmlocking branch.
2007-07-21 19:21:53 +00:00
ad
88ab7da936
Merge some of the less invasive changes from the vmlocking branch:
...
- kthread, callout, devsw API changes
- select()/poll() improvements
- miscellaneous MT safety improvements
2007-07-09 20:51:58 +00:00
ad
59d979c5f1
Pass an ipl argument to pool_init/POOL_INIT to be used when initializing
...
the pool's lock.
2007-03-12 18:18:22 +00:00
thorpej
b3667ada6d
TRUE -> true, FALSE -> false
2007-02-22 06:05:00 +00:00
matt
93feeb1203
Fix lossage from boolean_t -> bool and updated x86 bus_dma.
2007-02-22 04:38:02 +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
hubertf
142c2a33ba
Remove duplicate #includes, patch contributed in private mail
...
by Slava Semushin <slava.semushin@gmail.com>.
To verify that no nasty side effects of duplicate includes (or their
removal) have an effect here, I've compiled an i386/ALL kernel with
and without the patch, and the only difference in the resulting .o
files was in shifted line numbers in some assert() calls.
The comparison of the .o files was based on the output of "objdump -D".
Thanks to martin@ for the input on testing.
2007-01-24 13:08:11 +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
1a7bc55dcc
remove some __unused from function parameters.
2006-11-01 10:17:58 +00:00
christos
4d595fd7b1
- sprinkle __unused on function decls.
...
- fix a couple of unused bugs
- no more -Wno-unused for i386
2006-10-12 01:30:41 +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
cherry
8a4036de78
bumps kernel aobj to 64 bit. \
...
See: http://mail-index.netbsd.org/tech-kern/2006/03/07/0007.html
2006-09-01 20:39:05 +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
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
221616873d
merge yamt-readahead branch.
2005-11-29 22:52:02 +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
yamt
d597202302
make VMSWAP optional again.
2005-09-17 14:38:38 +00:00
yamt
1f6a8b12c5
uao_put: don't skip loaned or wired pages.
2005-09-14 20:25:21 +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
873763ea0f
uao_put: recognize endoff == 0 as "to the end of the object",
...
as VOP_PUTPAGES (thus vnode pager) does. for tmpfs.
2005-09-13 19:54:09 +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
thorpej
b651fb886d
Sprinkle some static.
2005-06-27 02:29:32 +00:00
thorpej
e569facced
Use ANSI function decls.
2005-06-27 02:19:48 +00:00
yamt
11bfc2d8e1
introduce a macro to initialize uvm_object and use it.
2005-06-06 12:09:19 +00:00
christos
e715d2ee98
avoid shadow variables.
...
remove unneeded casts.
2005-05-29 21:06:33 +00:00
simonb
b5d0e6bf06
Initialise (most) pools from a link set instead of explicit calls
...
to pool_init. Untouched pools are ones that either in arch-specific
code, or aren't initialiased during initial system startup.
Convert struct session, ucred and lockf to pools.
2004-04-25 16:42:40 +00:00
simonb
19f85c9cf1
Fix a tyop.
2004-04-05 01:39:07 +00:00
junyoung
325f5482a8
Nuke __P().
2004-03-24 07:55:01 +00:00
drochner
da03a1c8cf
Fix a reversed logic in swap deallocation which could lead to
...
uvm_swap_free() being called with a zero slot; this might have been
the reason for crashes with sysvshm and heavy swapping.
(PR kern/22752 by Tom Spindler)
Confirmed by Chuck Silvers.
2003-09-18 13:48:05 +00:00
pk
9a4aea0127
When retiring a swap device with marked bad blocks on it we should update
...
the `# swap page in use' and `# swap page only' counters. However, at the
time of swap device removal we can no longer figure out how many of the
bad swap pages are actually also `swap only' pages.
So, on swap I/O errors arrange things to not include the bad swap pages in
the `swpgonly' counter as follows: uvm_swap_markbad() decrements `swpgonly'
by the number of bad pages, and the various VM object deallocation routines
do not decrement `swpgonly' for swap slots marked as SWSLOT_BAD.
2003-08-28 13:12:17 +00:00
pk
d022b5caad
uao_pagein_page() & anon_pagein():
...
* return failure if the page cannot be retrieved.
* wakeup any waiters when releasing a page after successful page in.
2003-08-11 16:54:10 +00:00
pk
96f1796f30
Only deactivate pages if their wired count is zero.
2003-08-11 16:48:05 +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