summaryrefslogtreecommitdiff
path: root/sys/uvm/uvm_device.c
AgeCommit message (Collapse)Author
2009-08-14make the uvm device lock a mutex.Owain Ainsworth
This is the same diff that was backed out after c2k9 in the date-based revert. ok ariane@
2009-08-06reintroduce the uvm_tree commit.Owain Ainsworth
Now instead of the global object hashtable, we have a per object tree. Testing shows no performance difference and a slight code shrink. OTOH when locking is more fine grained this should be faster due to lock contention on uvm.hashlock. ok thib@, art@.
2009-06-16date based reversion of uvm to the 4th May.Owain Ainsworth
We still have no idea why this stops the crashes. but it does. a machine forced to 64mb of ram cycled 10GB through swap with this diff and is still running as I type this. Other tests by ariane@ and thib@ also seem to show that it's alright. ok deraadt@, thib@, ariane@
2009-06-16Backout all changes to uvm after pmemrange (which will be backed outOwain Ainsworth
separately). a change at or just before the hackathon has either exposed or added a very very nasty memory corruption bug that is giving us hell right now. So in the interest of kernel stability these diffs are being backed out until such a time as that corruption bug has been found and squashed, then the ones that are proven good may slowly return. a quick hitlist of the main commits this backs out: mine: uvm_objwire the lock change in uvm_swap.c using trees for uvm objects instead of the hash removing the pgo_releasepg callback. art@'s: putting pmap_page_protect(VM_PROT_NONE) in uvm_pagedeactivate() since all callers called that just prior anyway. ok beck@, ariane@. prompted by deraadt@.
2009-06-02Instead of the global hash table with the terrible hashfunction and aOwain Ainsworth
global lock, switch the uvm object pages to being kept in a per-object RB_TREE. Right now this is approximately the same speed, but cleaner. When biglock usage is reduced this will improve concurrency due to lock contention.. ok beck@ art@. Thanks to jasper for the speed testing.
2009-05-12Convert the udv_lock for the list of uvm_device objects over to a mutex.Owain Ainsworth
ok thib@, weingart@.
2009-05-08Remove static qualifier of functions that are not inline.Ariane van der Steldt
Makes trace in ddb useful. ok oga
2009-03-23Remove space added in last commit. Pointed out by miod@.Owain Ainsworth
2009-03-20While working on some stuff in uvm I've gotten REALLY sick of readingOwain Ainsworth
K&R function declarations, so switch them all over to ansi-style, in accordance with the prophesy. "go for it" art@
2007-10-29MALLOC/FREE -> malloc/freeCharles Longeau
ok krw@
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-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
2004-02-23sync of pmap_update() calls with NetBSD. pmap_update is defined away onDale Rahn
all architectures but arm, where it is needed.
2002-11-06Eliminate the use of KERN_SUCCESS outside of uvm/Artur Grabowski
Also uvm_map returns KERN_* codes that are directly mapped to errnos, so we can return them instead of doing some attempt to translation. drahn@ "I see no problem" pval@ "makes sense"
2002-03-14First round of __P removal in sysTodd C. Miller
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-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-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-07Another sync of uvm to NetBSD. Just minor fiddling, no major changes.Artur Grabowski
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-05Minor sync to NetBSD.Artur Grabowski
2001-11-01Don't allow negative offsets. Some type confusion.Artur Grabowski
2001-11-01Change d_mmap in struct cdevsw from:Artur Grabowski
int (*d_mmap) __P((dev_t, int, int)); to: paddr_t (*d_mmap) __P((dev_t, off_t, int)); This allows us to mmap devices past 4GB offsets.
2001-09-11Don't include <vm/vm_kern.h> if you don't need foo_map.Miod Vallat
2001-08-11Various random fixes from NetBSD.Artur Grabowski
Including support for zeroing pages in the idle loop (not enabled yet).
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-07-25Change the pmap_enter interface to merge access_type and the wired booleanArtur Grabowski
and arbitrary flags into one argument. One new flag is PMAP_CANFAIL that tells pmap_enter that it can fail if there are not enough resources to satisfy the request. If this flag is not passed, pmap_enter should panic as it should have done before this change (XXX - many pmaps are still not doing that). Only i386 and alpha implement CANFAIL for now. Includes uvm updates from NetBSD.
2001-07-18Sync in more from NetBSD.Artur Grabowski
Original commit message: Patch from chuq for uvm r/w map oscillation bug. Fixes the XalphaNetBSD slowdown.
2001-03-22Sync style, typo, and comments a little closer to NetBSD. art@ oksmart
2001-01-29$OpenBSD$Niklas Hallqvist
2000-03-15Fix the NetBSD id strings.Artur Grabowski
1999-09-03Change the pmap_enter api to pass down an argument that indicatesArtur Grabowski
the access type that caused this mapping. This is to simplify pmaps with mod/ref emulation (none for the moment) and in some cases speed up pmap_is_{referenced,modified}. At the same time, clean up some mappings that had too high protection. XXX - the access type is incorrect in old vm, it's only used by uvm and MD code. The actual use of this in pmap_enter implementations is not in this commit.
1999-08-23sync with NetBSD from 1999.05.24 (there is a reason for this date)Artur Grabowski
Mostly cleanups, but also a few improvements to pagedaemon for better handling of low memory and/or low swap conditions.
1999-02-26add OpenBSD tagsArtur Grabowski
1999-02-26Import of uvm from NetBSD. Some local changes, some code disabledArtur Grabowski