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
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
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
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
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
662ada8f7a
allocate anons on-demand, rather than reserving static amount of
...
them on boot/swapon.
2005-05-11 13:02:25 +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
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
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
6b2d8b66a4
merge yamt-km branch.
...
- don't use managed mappings/backing objects for wired memory allocations.
save some resources like pv_entry. also fix (most of) PR/27030.
- simplify kernel memory management API.
- simplify pmap bootstrap of some ports.
- some related cleanups.
2005-04-01 11:59:21 +00:00
chs
6e3fb7b0d2
add back rev. 1.29 of vm/vm_map.c, which was apparently lost in the UVM merge:
...
msync(MS_INVALIDATE) should fail if any part of the region is wired.
2005-02-28 16:55:54 +00:00
perry
bcfcddbac1
nuke trailing whitespace
2005-02-26 22:31:44 +00:00
chs
467487d274
use vm_map_{min,max}() instead of dereferencing the vm_map pointer directly.
...
define and use vm_map_set{min,max}() for modifying these values.
remove the {min,max}_offset aliases for these vm_map fields to be more
namespace-friendly. PR 26475.
2005-02-11 02:12:03 +00:00
chs
b0c54c738d
pmap_wired_count() is now available on all platforms,
...
remove the code for the case where it's not defined.
2005-01-23 15:58:13 +00:00
atatat
a076957818
Convert the PMAP_PREFER() macro from two arguments (offset and hint)
...
to four (adding size and direction).
In order for topdown uvm to be an option on ports using PMAP_PREFER,
they will need to "prefer" lower addresses if topdown is being used.
Additionally, at least one port also needs to know the size.
2005-01-17 04:37:20 +00:00
yamt
3068e2f45a
don't use uvm_kmapent_alloc for non-intrsafe kernel submaps
...
(namely exec_map and phys_map) becuase:
- normal vmmpepl is fine for them.
- some of them are tightly sized. eg. size of exec_map on vax is just NCARGS.
should fix vax boot failure reported by Johnny Billquist on current-users@.
2005-01-14 14:25:40 +00:00
yamt
22099ab744
in uvm_unmap_remove, always wakeup va waiters if any.
...
uvm_km_free_wakeup is now a synonym of uvm_km_free.
2005-01-13 11:50:32 +00:00
yamt
e4666bf785
don't reserve (uvm_mapent_reserve) entries for malloc/pool backends
...
because it isn't necessary or safe.
reported and tested by Denis Lagno. PR/28897.
2005-01-12 09:34:35 +00:00
yamt
546bb99833
reapply uvm_map.c rev.1.156 (use a zero-sized array instead of
...
c99 flexible array member) for ports which still use gcc 2.95.
from Havard Eidnes.
2005-01-03 19:46:22 +00:00
yamt
3983ffcfb1
uvm_unmap_remove: debug check to ensure that
...
unmapped regions doesn't have any remaining page mappings.
2005-01-01 21:12:59 +00:00
yamt
592c954dc7
don't merge incompatible map entries. eg. private and shared.
2005-01-01 21:11:51 +00:00
yamt
95c82bfee4
introduce vm_map_kernel, a subclass of vm_map, and
...
move some kernel-only members of vm_map to it.
2005-01-01 21:02:12 +00:00
yamt
1207308b90
for in-kernel maps,
...
- allocate kva for vm_map_entry from the map itsself and
remove the static limit, MAX_KMAPENT.
- keep merged entries for later splitting to fix allocate-to-free problem.
PR/24039.
2005-01-01 21:00:06 +00:00
yamt
49fe2034a3
uvm_map_printit:
...
- print wired_count if available.
- fix a printf format.
2004-09-25 04:19:38 +00:00
he
df7ebfa9c3
Move variable declaration up before the code. Fixes compile error
...
for vax, and also conforms better to KNF.
2004-05-19 22:02:05 +00:00
pk
2fb3dac280
Since a `vmspace' always includes a `vm_map' we can re-use vm_map's
...
reference count lock to also protect the vmspace's reference count.
2004-05-04 21:33:40 +00:00
petrov
1ac4411c10
Revert default uvm counters, rename UVMMAP_COUNTERS to UVMMAP_NOCOUNTERS.
2004-05-03 20:10:35 +00:00
petrov
5f4709f782
Replace uvm counters with evcnt, initialize them through __link_set (from Matt Thomas),
...
disable counters by default and add configuration option UVMMAP_COUNTERS.
2004-05-01 19:40:39 +00:00
junyoung
9262158d3e
Fix typo in comments.
2004-04-27 09:50:43 +00:00
junyoung
f539f210cc
FINDSPACE_FIXED -> UVM_FLAG_FIXED in comment.
2004-04-27 09:45:02 +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
yamt
dabac1bc03
uvm_map_findspace: don't return unaligned address if alignment is specified.
...
discussed on tech-kern@.
2004-03-30 12:59:09 +00:00
junyoung
7e0c058612
Drop trailing spaces.
2004-03-24 07:47:32 +00:00
mycroft
2fef5d8dfc
Something I posted to tech-kern a long time ago...
...
Slightly simplify uvm_map_extract() slightly by eliminating "oldstart".
2004-03-17 23:58:12 +00:00
pooka
c5e500a486
Reflect dropping mappings in map_size.
...
Avoids panic on DIAGNOSTIC kernels.
ok by chs
2004-03-11 15:03:47 +00:00
matt
a78a1b0777
Back out the changes in
...
http://mail-index.netbsd.org/source-changes/2004/01/29/0027.html
since they don't really fix the problem.
Incorpate one fix: Mark uvm_map_entry's that were created with
UVM_FLAG_NOMERGE so that they will not be used as future merge
candidates.
2004-02-10 01:30:49 +00:00
yamt
1e18e59746
- borrow vmspace0 in uvm_proc_exit instead of uvmspace_free.
...
the latter is not a appropriate place to do so and it broke vfork.
- deactivate pmap before calling cpu_exit() to keep a balance of
pmap_activate/deactivate.
2004-02-09 13:11:21 +00:00
yamt
8fb96e0be4
introduce a new patchable variable, uvm_debug_check_rbtree,
...
which is zero by default.
perform rbtree sanity checks only when it isn't zero
because the check is very heavy weight especially when
there're many entries.
2004-02-07 13:22:19 +00:00
yamt
a45adbd9c7
don't deactivate pmap in exit1 because we'll touch the pmap later.
...
instead, borrow vmspace0 immediately before destroying the pmap
in uvmspace_free.
2004-02-07 10:05:52 +00:00
yamt
4124096ea8
uvm_kmapent_alloc:
...
in the case that there's no cached entries,
if kmem_map is already up, allocate a entry from it
so that we won't try to vm_map_lock recursively.
XXX assuming usage pattern of kmem_map.
2004-02-07 08:02:21 +00:00
he
be19fc25f3
Since the playstation2 port still uses a variant of gcc 2.95.2,
...
change to use a zero-sized array instead of c99 flexible array
member in a struct.
OK'ed by yamt.
2004-02-02 23:13:44 +00:00
yamt
c5ffc97d8e
remove wrong assertions.
...
sparc's alloc_cpuinfo_global_va() partially unmaps kva range in kernel_map.
noted by Juergen Hannken-Illjes on current-users@.
2004-01-30 11:56:39 +00:00