summaryrefslogtreecommitdiff
path: root/sys/uvm/uvm_extern.h
AgeCommit message (Collapse)Author
2005-11-04Add an extra flags argument to uvm_io(), to specify whether we want to fixMiod Vallat
the protection of the memory mapping we're doing I/O on, or if we want to leave them as they are. This should only be necessary for breakpoint insertion in code, so we'll only use it for ptrace requests. Initially from art@ after discussion with kettenis@ millert@ and I, tested by many.
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-09-12Change the NKMEMPAGES range to 4-64MB for 32bit arches, and 8-128MB for 64bitMiod Vallat
arches; except on sparc where the range is 4-8 for !sun4m and 4-64 for sun4m, selected at runtime.
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.
2005-04-21count fpu lazy context switches; deraadt@ okMichael Shalayeff
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-05-27change uvm_km_getpage to take waitok argument and sleep if appropriate.Ted Unangst
change both the nointr and default pool allocators to using uvm_km_getpage. change pools to default to a maxpages value of 8, so they hoard less memory. change mbuf pools to use default pool allocator. pools are now more efficient, use less of kmem_map, and a bit faster. tested mcbride, deraadt, pedro, drahn, miod to work everywhere
2004-04-28remove mb_object*; ok teduMarkus Friedl
2004-04-19introduce a new km_page allocator that gets pages from kernel_map usingTed Unangst
an interrupt safe thread. use this as the new backend for mbpool and mclpool, eliminating the mb_map. introduce a sysctl kern.maxclusters which controls the limit of clusters allocated. testing by many people, works everywhere but m68k. ok deraadt@ this essentially deprecates the NMBCLUSTERS option, don't use it. this should reduce pressure on the kmem_map and the uvm reserve of static map entries.
2003-08-10Remove uvm_useracc(): misleading, gives a false sentiment of security, andMiod Vallat
eventually not used anymore. Conforming to art@'s evil plans.
2003-06-02Remove the advertising clause in the UCB license which BerkeleyTodd C. Miller
rescinded 22 July 1999. Proofed by myself and Theo.
2003-05-01typos;Jason McIntyre
ok art@
2003-03-28zero'd -> zeroed;Jason McIntyre
ok art@, miod@
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-03-14Final __P removal plus some cosmetic fixupsTodd C. Miller
2002-03-14First round of __P removal in sysTodd C. Miller
2002-02-28use red-black tree for lookup_entry. the red-black tree case forNiels Provos
map_findspace is still broken on alpha. this will make debugging easier. okay millert@
2002-02-25back out red-black tree. they are very fast but alpha UVM is broken andNiels Provos
the tree triggers the bug, PMAP_PREFER case was broken also.
2002-02-25use a red-black tree to find entries in the vm_map. augment the red-blackNiels Provos
tree to find free space between entries. speeds up memory allocation, etc...
2001-12-19UBC was a disaster. It worked very good when it worked, but on someArtur Grabowski
machines or some configurations or in some phase of the moon (we actually don't know when or why) files disappeared. Since we've not been able to track down the problem in two weeks intense debugging and we need -current to be stable, back out everything to a state it had before UBC. We apologise for the inconvenience.
2001-12-06remove unnecessary newlineNiklas Hallqvist
2001-12-04Yet another sync to NetBSD uvm.Artur Grabowski
Today we add a pmap argument to pmap_update() and allocate map entries for kernel_map from kmem_map instead of using the static entries. This should get rid of MAX_KMAPENT panics. Also some uvm_loan problems are fixed.
2001-11-30Kill uvm_pagealloc_contig. The two drivers that still used it should haveArtur Grabowski
been converted to bus_dma ages ago, but since noone haven't bothered to do that I haven't bothered to do more than to test that the kernel still builds with those changes.
2001-11-28Sync in more uvm from NetBSD. Mostly just cosmetic stuff.Artur Grabowski
Contains also support for page coloring.
2001-11-28Sync in more uvm changes from NetBSD.Artur Grabowski
This time we're getting rid of KERN_* and VM_PAGER_* error codes and use errnos instead.
2001-11-27Merge in the unified buffer cache code as found in NetBSD 2001/03/10. TheArtur Grabowski
code is written mostly by Chuck Silvers <chuq@chuq.com>/<chs@netbsd.org>. Tested for the past few weeks by many developers, should be in a pretty stable state, but will require optimizations and additional cleanups.
2001-11-12Bring in more changes from NetBSD. Mostly pagedaemon improvements.Artur Grabowski
2001-11-10Merge in some parts of the ubc work that has been done in NetBSD that are notArtur Grabowski
UBC, but prerequsites for it. - Create a daemon that processes async I/O (swap and paging in the future) requests that need processing in process context and that were processed in the pagedaemon before. - Convert some ugly ifdef DIAGNOSTIC code to less intrusive KASSERTs. - misc other cleanups.
2001-11-09minor sync to NetBSD.Artur Grabowski
2001-11-07Another sync of uvm to NetBSD. Just minor fiddling, no major changes.Artur Grabowski
2001-11-07Add an alignment argument to uvm_map that specifies an alignment hintArtur Grabowski
for the virtual address.
2001-11-06Let fork1, uvm_fork, and cpu_fork take a function/argument pair as argument,Artur Grabowski
instead of doing fork1, cpu_set_kpc. This lets us retire cpu_set_kpc and avoid a multiprocessor race. This commit breaks vax because it doesn't look like any other arch, someone working on vax might want to look at this and try to adapt the code to be more like the rest of the world. Idea and uvm parts from NetBSD.
2001-11-06More sync to NetBSD.Artur Grabowski
- Use malloc/free instead of MALLOC/FREE for variable sized allocations. - Move the memory inheritance code to sys/mman.h and rename from VM_* to MAP_* - various cleanups and simplifications.
2001-11-06Move the last content from vm/ to uvm/Artur Grabowski
The only thing left in vm/ are just dumb wrappers. vm/vm.h includes uvm/uvm_extern.h vm/pmap.h includes uvm/uvm_pmap.h vm/vm_page.h includes uvm/uvm_page.h
2001-11-06sync to NetBSD.Artur Grabowski
2001-09-19merge vm/vm_kern.h into uvm/uvm_extern.h; art@ okMichael Shalayeff
2001-08-12merge vm_map.h into uvm_map.h, kinda matches netbsd's approachMichael Shalayeff
2001-08-12vm_inherit.h no moreMichael Shalayeff
2001-08-12vm_extern.h no moreMichael Shalayeff
2001-08-12vm/vm_prot.h no moreMichael Shalayeff
2001-08-11Various random fixes from NetBSD.Artur Grabowski
Including support for zeroing pages in the idle loop (not enabled yet).
2001-08-08nuke __attribute__((__noreturn__)) when used in conjunction with __deadTodd C. Miller
2001-08-06Add a new type voff_t (right now it's typedefed as off_t) used for offsetsArtur Grabowski
into objects. Gives the possibilty to mmap beyond the size of vaddr_t. From NetBSD.
2001-08-02Sysctl for finding out how many pages there are in kmem_map.Artur Grabowski
2001-07-26Add support for disabling swap devices (swapctl -d).Artur Grabowski
Improve error handling on I/O errors to swap. From NetBSD
2001-07-25Some updates to UVM from NetBSD. Nothing really critical, just a sync.Artur Grabowski
2001-06-23Sync with NetBSD 19990911 (just before PMAP_NEW was required)smart
- thread_sleep_msg() -> uvm_sleep() - initialize reference count lock in uvm_anon_{init,add}() - add uao_flush() - replace boolean 'islocked' with 'lockflags' - in uvm_fault() change FALSE to TRUE to in 'wide' fault handling - get rid of uvm_km_get() - various bug fixes
2001-05-10Some locking protocol fixes and better enforcement of wiring limits.Artur Grabowski
From NetBSD.
2001-05-07Few fixes from NetBSD.Artur Grabowski
- make sure that vsunlock doesn't unwire mlocked memory. - fix locking in uvm_useracc. - Return the error uvm_fault_wire in uvm_vslock (will be used soon).
2001-03-09More syncing to NetBSD.Artur Grabowski
Implements mincore(2), mlockall(2) and munlockall(2). mlockall and munlockall are disabled for the moment. The rest is mostly cosmetic.