summaryrefslogtreecommitdiff
path: root/sys/uvm/uvm_map.c
AgeCommit message (Collapse)Author
2007-06-18Bring back Mickey's UVM anon change. Testing by thib@, beck@ andPedro Martelletto
ckuethe@ for a while. Okay beck@, "it is good timing" deraadt@.
2007-06-13Remove some statics and inlines (mostly to get a readable profile output).Artur Grabowski
"reads ok" dlg@
2007-06-01set hiwat mark for some of the more popular pools to reduce bouncingTed Unangst
ok art bob
2007-05-31zap the vm_amap am_l simplelock, and amap_{lock/unlock} macros forThordur I. Bjornsson
simple_{lock/unlock}. ok art@
2007-04-27For uvm_map and uvm_unmap, splassert(IPL_NONE) for non-INTRSAFE maps.Artur Grabowski
miod@ ok
2007-04-27Some indentation cleanup.Artur Grabowski
md5@ ok.
2007-04-14Clean up.Artur Grabowski
- ansi-fy - use struct vm_map * and struct vm_map_entry * instead of _t types - fix some indentation problems. miod@ ok
2007-04-13While splitting flags and pqflags might have been a good idea in theoryArtur Grabowski
to separate locking, on most modern machines this is not enough since operations on short types touch other short types that share the same word in memory. Merge pg_flags and pqflags again and now use atomic operations to change the flags. Also bump wire_count to an int and pg_version might go int as well, just for alignment. tested by many, many. ok miod@
2007-04-12Unbreak compile with option UVMHIST after pg_flags changes.Artur Grabowski
from mickey
2007-04-11Instead of managing pages for intrsafe maps in special objects (aka.Artur Grabowski
kmem_object) just so that we can remove them, just use pmap_extract to get the pages to free and simplify a lot of code to not deal with the list of intrsafe maps, intrsafe objects, etc. miod@ ok
2007-04-04Mechanically rename the "flags" and "version" fields in struct vm_pageArtur Grabowski
to "pg_flags" and "pg_version", so that they are a bit easier to work with. Whoever uses generic names like this for a popular struct obviously doesn't read much code. Most architectures compile and there are no functionality changes. deraadt@ ok ("if something fails to compile, we fix that by hand")
2007-03-27Clean up some return value handling now that we know that what's returnedArtur Grabowski
is proper errnos. millert@ ok and some help
2007-03-26Rip out the KERN_ error codes.Artur Grabowski
ok otto@
2007-03-25remove KERN_SUCCESS and use 0 instead.Artur Grabowski
eyeballed by miod@ and pedro@
2006-07-31fix uvmhist #2: args are always u_long so fix missing %d and %x and no %ll; ↵Michael Shalayeff
no change for normal code
2006-07-26fix fmts for UVMHIST_LOG() entries making it more useful on 64bit archs; ↵Michael Shalayeff
miod@ ok
2006-07-13Back out the anon change. Apparently it was tested by a few, but most ofTheo de Raadt
us did not see it or get a chance to test it before it was commited. It broke cvs, in the ami driver, making it not succeed at seeing it's devices.
2006-06-21from netbsd: make anons dynamically allocated from pool.Michael Shalayeff
this results in lesse kva waste due to static preallocation of those for every phys page and also every swap page. tested by beck krw miod
2006-04-27from PAE work:Michael Shalayeff
as paddr_t could be a long long (soon) always cast and print as llx.
2006-01-16add another uvm histroy for physpage alloc/free and propagate a debugging ↵Michael Shalayeff
pgfree check into pglist; no functional change for normal kernels; make histories uncommon
2006-01-02fix typo in commentTom Cosgrove
ok deraadt@
2005-12-10Don't check/free new_entry here, since it can't have been set. SpottedKenneth R Westerback
by lint. "Probably a bogus cut'n paste." says moid. ok miod@ pedro@
2005-12-10{en,re}trys -> {en,re}tries; eyeballed by jmc@Miod Vallat
2005-09-28- when we run out of static kernel map entries, grab a fresh page usingPedro Martelletto
the uvm_km_page allocator and use it instead of calling panic() - add a counter to uvmexp so we can keep track of how many map entries we have in use idea from tedu@, long ago, okay deraadt@
2005-06-29on the vax, start mmap BRKSIZ (8MB) into data seg; ok tdevalTheo de Raadt
2005-05-24add a new field to vm_space and use it to track the number of anonTed Unangst
pages a process uses. this is now the userland "data size" value. ok art deraadt tdeval. thanks testers.
2004-12-30Import M_CANFAIL support from NetBSD, removes a nasty panic during low-mem ↵Niklas Hallqvist
scenarios, instead generating an ENOMEM backfeed, ok tedu@, prodded by many
2004-08-06rename sparc kill_user_windows() to pmap_unuse_final(). provide empty stubsTheo de Raadt
on all other architectures. remove last architecture dependent #ifdef from uvm code.
2004-07-21Yet another victim of inline masturbation.Artur Grabowski
Remove inline from a few functions, shrink the kernel by a few kB and make things faster. A simple compilation on amd64 spends around 5% less time in kernel. Yes, it's faster without inlines, now go buy a book about modern cpu architectures and find a chapter about the new and revolutionary thing called "cache". deraadt@ ok
2004-05-30only free pages if we have write permission and they are not COW.Ted Unangst
prevents msync/madvise funniness from art@ ok deraadt@
2004-05-03protecing with NONE means we must drop the wired count.Ted Unangst
solves problems encountered by david@ and dtucker@ (pr3758)
2004-02-23sync of pmap_update() calls with NetBSD. pmap_update is defined away onDale Rahn
all architectures but arm, where it is needed.
2003-11-18faster pools. split pagelist into full, partial, and empty so we find whatTed Unangst
we're looking for. change small page_header hash table to a splay tree. from Chuck Silvers. tested by brad grange henning mcbride naddy otto
2003-10-08randomize return from uvm_map_hint. the random increment is limitedTed Unangst
to prevent fragmentation. this has the effect of randomizing unhinted mmap()s, sysV mem, and position of ld.so. tested on many archs by many developers for quite some time. use of MIN to allow m68k to play from miod@. vax is not included. ok deraadt@ miod@
2003-09-03m68k at least doesn't like random mappings. disable for now.Ted Unangst
i386 exec mappings are still random. detected by pvalchev@. ok deraadt@
2003-09-02add a random offset to uvm_map_hint. this has the primary effect ofTed Unangst
scattering ld.so and libraries around, although all mmaps will also have some jitter too. better version after some discussion with drahn testing/ok deraadt henning marcm otto pb
2003-06-29quell a "not a pointer" warning by using 0x%lx instead of %p for a vaddr_tAnil Madhavapeddy
suggested by art@
2003-05-05Move exec base to 0x1c000000, exe/data gap to 512MB. Allows betterDale Rahn
interleave of exe/shared libs. Raise MAXDSIZ back to 1G. This change REQUIRES a binary update on i386.
2003-04-17changes to support mquery with 1Gsep on i386. avoid heap on mappings.Dale Rahn
2003-04-14There are two related changes.Artur Grabowski
The first one is an mquery(2) syscall. It's for asking the VM system about where to map things. It will be used by ld.so, read the man page for details. The second change is related and is a centralization of uvm_map hint that all callers of uvm_map calculated. This will allow us to adjust this hint on architectures that have segments for non-exec mappings. deraadt@ drahn@ ok.
2002-12-09Two splasserts in map entry allocation.Artur Grabowski
2002-10-29Since memory deallocation can't fail, remove the error return fromArtur Grabowski
uvm_unmap, uvm_deallocate and a few other functions. Simplifies some code and reduces diff to the UBC branch.
2002-10-29"len = entry->end - entry->start;" then logically "entry->start + len"Artur Grabowski
should be equal to "entry->end". (len is never changed)
2002-10-17 - name in uvm_tree_sanity must be const.Artur Grabowski
- fix a typo in comment. - enable uvm_tree_sanity ifdef DEBUG
2002-09-17int is small for returned values from uvm_rb_{space,subtree_space}, useMike Pechkin
vsize_t instead. art@ ok
2002-08-30__FUNCTION__ -> __func__ that I forgot to commit.Marc Espie
2002-08-20print as unsigned for unsigned values, when printing out a map in ddb; art@ okMichael Shalayeff
2002-07-23Now that sparc64 implements reverse splassert, it make senseArtur Grabowski
to add splassert(IPL_NONE) in a few strategic places.
2002-06-14spelling; from Brian Poole <raj@cerias.purdue.edu>Todd T. Fries
2002-06-05DIAGNOSTIC check for duplicate entry into the tree.Artur Grabowski
niels@ ok.