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
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
74be61b2e6
remove one of duplicated forward decl. of vmspace. pointed by Dheeraj S.
2005-09-01 02:21:12 +00:00
yamt
b34f62d5e9
put back uvm_fault.h for now as it's needed for some ports.
2005-09-01 02:16:46 +00:00
yamt
be5d1db4a4
don't include uvm_fault.h unnecessarily.
2005-08-27 16:11:32 +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
yamt
2a6dc9d02d
- introduce PGO_NOBLOCKALLOC and use it for ubc mapping
...
to prevent unnecessary block allocations in the case that
page size > block size.
- ufs_balloc_range: use VM_PROT_WRITE+PGO_NOBLOCKALLOC rather than
VM_PROT_READ.
2005-07-17 09:13:35 +00:00
thorpej
5303f3b378
Clean up the cpp macro used to say "we're compiling this specific C file".
2005-06-28 05:25:42 +00:00
thorpej
9057ed7600
Make a note about why a large function like uvm_loanentry() can be
...
an inline in this case.
2005-06-28 04:06:52 +00:00
thorpej
8d3ff810fa
Add missing PAGE_INLINE to uvm_pagelookup()
2005-06-28 04:00:07 +00:00
thorpej
fcd6584a58
Clean up the use of __inline in this file. In particular, don't inline
...
really big chunks of code. This saves almost 2.5K on a GENERIC i386
kernel, and has the added benefit of not polluting the I$ so much.
2005-06-28 01:07:56 +00:00
thorpej
b651fb886d
Sprinkle some static.
2005-06-27 02:29:32 +00:00
thorpej
154a970ff4
Small whitespace tweak.
2005-06-27 02:23:26 +00:00
thorpej
e569facced
Use ANSI function decls.
2005-06-27 02:19:48 +00:00
jmc
1786cf4f46
Change signature of uvm_kmapent_map defintiion to __INLINE to match prototype
2005-06-13 20:39:14 +00:00
dsl
d68ddde829
If we are builging a small kernel [1], don't inline all these functions.
...
Saves over 2k and lets i386 rescue_tiny build again.
[1] if MALLOC_NOINLINE is defined - not ideal but...
2005-06-10 22:00:52 +00:00
matt
e1245a3c46
Rework the coredump code to have no explicit knownledge of how coredump
...
i/o is done. Instead, pass an opaque cookie which is then passed to a
new routine, coredump_write, which does the actual i/o. This allows the
method of doing i/o to change without affecting any future MD code.
Also, make netbsd32_core.c [re]use core_netbsd.c (in a similar manner that
core_elf64.c uses core_elf32.c) and eliminate that code duplication.
cpu_coredump{,32} is now called twice, first with a NULL iocookie to fill
the core structure and a second to actually write md parts of the coredump.
All i/o is nolonger random access and is suitable for shipping over a stream.
2005-06-10 05:10:12 +00:00
matt
bb583a82ce
Make sure state.end has a valid initial value.
2005-06-07 22:02:48 +00:00
yamt
11bfc2d8e1
introduce a macro to initialize uvm_object and use it.
2005-06-06 12:09:19 +00:00
chs
48e4eb59a3
adapt to const changes.
2005-06-04 13:48:35 +00:00
matt
25a0e29a75
When writing coredumps, don't write zero uninstantiated demand-zero pages.
...
Also, with ELF core dumps, trim trailing zeroes from sections. These two
changes can shrink coredumps by over 50% in size.
2005-06-02 17:01:43 +00:00
drochner
d481be4d04
prepend an underscore to local variables in macros, to avoid shadowing
...
user defined ones
2005-06-01 18:03:50 +00:00
christos
e715d2ee98
avoid shadow variables.
...
remove unneeded casts.
2005-05-29 21:06:33 +00:00
yamt
faf63ba09b
uvm_kmapent_free: add missing vm_map_lock/unlock.
2005-05-22 21:37:56 +00:00
yamt
ea66ccc0a5
uvm_mapent_trymerge: adjust object offset when necessary.
2005-05-18 01:36:16 +00:00
yamt
9dcbe8b85f
redo the previous (uvm_map.c rev.1.195) correctly.
2005-05-18 01:34:53 +00:00
yamt
1d028221a3
uvm_mapent_trymerge: add missing checks.
2005-05-17 21:45:24 +00:00
yamt
50a25acc50
(try to) merge map entries in fault handler.
2005-05-17 13:55:33 +00:00
yamt
1e5d4510fa
revert uvm_map.c rev.1.190 in favor of merging in fault handler.
2005-05-17 13:54:19 +00:00
yamt
627b0d5099
remove anon related statistics which are no longer used.
2005-05-15 08:01:06 +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
nathanw
92279c692f
uvm_coredump_walkmap(): Set UVM_COREDUMP_NODUMP on regions whose
...
protection does not include VM_PROT_READ, so that the core dumping
doesn't error out with EFAULT when trying to write that region.
Addresses PR kern/30143; approach suggested by chs@.
2005-05-06 19:34:47 +00:00
yamt
ae24d5d705
- amap_extend: don't extend amap beyond UVM_AMAP_LARGE.
...
- uvm_map_enter: if we fail to extend amap, just give up merging instead of
bailing out immediately.
2005-05-05 01:58:51 +00:00
yamt
192e24a575
uvm_reclaimable: add an XXX comment.
2005-05-04 23:23:28 +00:00
yamt
9aacd16106
uvm_map_enter: don't bother to defer amap allocation if there's a mergable
...
existing entry. although there're merits and demerits, i think it benefits
common cases.
2005-04-29 09:05:21 +00:00
yamt
1e67869b4b
uvm_map: don't leak a preallocated map entry on error.
2005-04-28 14:40:43 +00:00
yamt
7f37519f2c
uvmfault_anonget: check uvm_reclaimable() where appropriate.
2005-04-27 15:19:17 +00:00
yamt
4c61e81438
uvmexp_print: print swpgavail as well.
2005-04-27 11:02:43 +00:00
simonb
eddbeffa06
Use a cast to (long long) and 0x%llx to print out a paddr_t instead
...
of casting to (void *). Fixes compile problems with 64-bit paddr_t
on 32-bit platforms.
2005-04-20 14:10:03 +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
dbj
2939014883
use voff_t instead of vaddr_t to hold file offset passed to pgo_put
2005-04-07 06:44:15 +00:00
yamt
a7cd6f7a0e
amap_wipeout: remove a comment which is no longer true.
...
despite of what comment said, i left preempt() call
because i don't think of any bad effects.
2005-04-06 13:58:40 +00:00