summaryrefslogtreecommitdiff
path: root/sys/uvm
AgeCommit message (Collapse)Author
2002-04-29wierd -> weirdPeter Valchev
2002-04-25do not map memory for malloc w/ execute perms.Michael Shalayeff
this prevents i-cache preload on some archs, but does not hurt on others anyway. art looked all over all the pmaps, miod and mickey tested it on all possible archs, deraadt made a lesson out of it for the rest of the folks.
2002-04-22Uncommit. Since this came out of the blue, without anyone else havingTheo de Raadt
known of it; and since the commit message does not give the rest of us any feeling that this was tested by anyone, this is being removed. This is not an area where one commits because just art agrees. And that is what the commit message says.
2002-04-22do not map malloced memory executable (do avoid possible i-cache prefetch); ↵Michael Shalayeff
art@ ok
2002-03-18These are macro inlines on vax, so check if they're defined beforeHugh Graham
trying to prototype them. millert@ ok.
2002-03-18$OpenBSD$Hugh Graham
2002-03-17Don't set LK_RETRY to vn_lock with LK_RECURSEFAIL.Artur Grabowski
2002-03-15Cosmetic changes only, primarily making comments line up nicely after theTodd C. Miller
__P removal.
2002-03-14Prototype pmap_unwire() only if it's not already defined. ok drahn@.Daniel Hartmeier
2002-03-14do not proto pmap(de)activate if one was definedMichael Shalayeff
2002-03-14Final __P removal plus some cosmetic fixupsTodd C. Miller
2002-03-14First round of __P removal in sysTodd C. Miller
2002-03-14Don't prototype pmap_copy() if it is a macroTodd C. Miller
2002-03-08semicolon is not always what it seems, replace w/ a \n in asm labelsMichael Shalayeff
2002-03-07use an augmented red-black tree to keep track of free space in the vm_map.Niels Provos
uvm_tree_sanity is left as debugging help but needs to be enabled manually. okay art@
2002-03-06Some architectures don't allocate any memory out of the kernel_map spaceArtur Grabowski
before uvm_km_init (alpha). Don't uvm_map 0 space, it gives very strange breakage on alpha.
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-28setting prevlcv to 0 doesnt require additional checks. from chs@Niels Provos
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...
2002-02-20merging ppref could cause negative back reference, fix from niklas@Niels Provos
2002-02-19amap_pp_adjref could fragment ppref array; fix by merging adjacent chunks;Niels Provos
from Chuck Silvers; okay art@
2002-02-18From the UBC branch and NetBSD.Artur Grabowski
We allocate map entries for the non-intrsafe kernel map (most notably kernel_map and exec_map) from a pool that's backed by kmem_map (to avoid deadlocking). This should get rid of MAX_KMAPENT panics.
2002-02-16Don't prototype functions if they are really just macros.Todd C. Miller
2002-02-14Correctly FREF/FRELE in mmap(2).Artur Grabowski
2002-02-12amap_extend is very expensive, allocate more memory to avoid bcopy the nextNiels Provos
time around; my fix was very similiar to netbsd, take netbsd fix; okay art@
2002-02-10spellingTheo de Raadt
2002-01-28allocate vm pages with uvm_km_alloc (this code is ifdefed out anyway).Artur Grabowski
2002-01-28PR_MALLOCOK is not necessary.Artur Grabowski
2002-01-23Pool deals fairly well with physical memory shortage, but it doesn't dealArtur Grabowski
well (not at all) with shortages of the vm_map where the pages are mapped (usually kmem_map). Try to deal with it: - group all information the backend allocator for a pool in a separate struct. The pool will only have a pointer to that struct. - change the pool_init API to reflect that. - link all pools allocating from the same allocator on a linked list. - Since an allocator is responsible to wait for physical memory it will only fail (waitok) when it runs out of its backing vm_map, carefully drain pools using the same allocator so that va space is freed. (see comments in code for caveats and details). - change pool_reclaim to return if it actually succeeded to free some memory, use that information to make draining easier and more efficient. - get rid of PR_URGENT, noone uses it.
2002-01-15A fix to amap_wiperange from Chuck Cranor that has been in my tree forArtur Grabowski
a while. With his words: " here is a fix for a bug in amap_wiperange (was posted on netbsd's tech-kern list). i screwed up the loop control :("
2002-01-02Back out a few more uvm changes, especially wrt swap usage.Miod Vallat
This unbreaks m68k m88k sparc and perhaps others, which eventually froze when hitting swap. Tested by various people on various platforms. ok art@
2002-01-02Add more vocabulary (commands) to ddb, from NetBSD.Miod Vallat
ok art@ (manual page update coming soon)
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-10Merge in struct uvm_vnode into struct vnode.Artur Grabowski
2001-12-06remove unnecessary newlineNiklas Hallqvist
2001-12-06Keep track of how many pages a vnode hold with vhold and vholdreleArtur Grabowski
so that we can get back the old behavior where a vnode with cached data is less likely to be recycled than a vnode without cached data. XXX - This is a brute-force solution - we do it where uvmexp.vnodepages are changed, I am not really sure it is correct but people have been very happy with the diff so far and want this in the tree.
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-12-02VOP_GETPAGES expects the vnode locked. Make it so.Artur Grabowski
Note that VOP_PUTPAGES has the same problems, but the fix will be more complicated.
2001-11-30Now that pmaps can have vm_page_md, make pmap_physseg optional.Artur Grabowski
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-30Call buf_cleanout, which handles wakeupsConstantine Sapuntzakis
2001-11-29Correctly handle b_vp with bgetvp and brelvp in {get,put}pages.Artur Grabowski
Prevents panics caused by vnodes being recycled under our feet.
2001-11-28Sync in more uvm from NetBSD. Mostly just cosmetic stuff.Artur Grabowski
Contains also support for page coloring.
2001-11-28more sync to netbsd. some bugfixes in uvm_km_kmemalloc, lots of fixes in ↵Artur Grabowski
uvm_loan.
2001-11-28make pmap_virtual_space madatory in all pmaps.Artur Grabowski
2001-11-28pmap_kenter_pgs is not used and not really useful. remove.Artur Grabowski
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-15Remove creds from struct buf, move the creds that nfs need into the nfs node.Artur Grabowski
While in the area, convert nfs node allocation from malloc to pool and do some cleanups. Based on the UBC changes in NetBSD. niklas@ ok.