summaryrefslogtreecommitdiff
path: root/sys/uvm
AgeCommit message (Collapse)Author
2007-10-10Make context switching much more MI:Artur Grabowski
- Move the functionality of choosing a process from cpu_switch into a much simpler function: cpu_switchto. Instead of having the locore code walk the run queues, let the MI code choose the process we want to run and only implement the context switching itself in MD code. - Let MD context switching run without worrying about spls or locks. - Instead of having the idle loop implemented with special contexts in MD code, implement one idle proc for each cpu. make the idle loop MI with MD hooks. - Change the proc lists from the old style vax queues to TAILQs. - Change the sleep queue from vax queues to TAILQs. This makes wakeup() go from O(n^2) to O(n) there will be some MD fallout, but it will be fixed shortly. There's also a few cleanups to be done after this. deraadt@, kettenis@ ok
2007-09-17instead of inspecting the vnode op's to figure out ifThordur I. Bjornsson
vnode locking actually works, just check the VLOCKSWORK flag. Also, change this ifdef DEBUG to VFSDEBUG since VLOCKSWORK is only ever set if VFSDEBUG is defined. ok/input miod@, art@ (earlier diff)
2007-09-15replace ctob and btoc with ptoa and atop respectivelyMartin Reindl
help and ok miod@ thib@
2007-09-10Introduce a md pmap hook, pmap_remove_holes(), which is supposed to markMiod Vallat
the holes a MMU may have from a given vm_map. This will be automagically invoked for newly created vmspaces. On platforms with MMU holes (e.g. sun4, sun4c and vax), this prevents mmap(2) hints which would end up being in the hole to be accepted as valid, causing unexpected signals when the process tries to access the hole (since pmap can not fill the hole anyway). Unfortunately, the logic mmap() uses to pick a valid address for anonymous mappings needs work, as it will only try to find an address higher than the hint, which causes all mmap() with a hint in the hole to fail on vax. This will be improved later.
2007-09-07Use M_ZERO in a few more places to shave bytes from the kernel.Artur Grabowski
eyeballed and ok dlg@
2007-09-01replace the machine dependant bytes-to-clicks macro by the MI ptoa()Martin Reindl
version for i386 more architectures and ctob() replacement is being worked on prodded by and ok miod
2007-08-31simplify uvm_vnp_sync() by removing some simplelock goo.Thordur I. Bjornsson
some comment cleanup and a touch of KNF. ok art@
2007-08-03Don't let pagedaemon wait for pages here. We could trigger this easilyArtur Grabowski
when we hit swap before actually fully populating the buffer cache which would lead to deadlocks. From pedro, tested by many, deraadt@ ok
2007-07-18Indentation nit.Artur Grabowski
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-06now that all partition size/offsets are potentially 64-bit, change theTheo de Raadt
type of all variables to daddr64_t. this includes the APIs for XXsize() and XXdump(), all range checks inside bio drivers, internal variables for disklabel handling, and even uvm's swap offsets. re-read numerous times by otto, miod, krw, thib to look for errors
2007-06-05use six new macros to access & store the 48-bit disklabel fields relatedTheo de Raadt
to size. tested on almost all machines, double checked by miod and krw next comes the type handling surrounding these values
2007-06-01set hiwat mark for some of the more popular pools to reduce bouncingTed Unangst
ok art bob
2007-06-01wrong cast checking for VOP_BMAP return value; ok miodTheo de Raadt
2007-05-31zap the vm_amap am_l simplelock, and amap_{lock/unlock} macros forThordur I. Bjornsson
simple_{lock/unlock}. ok art@
2007-05-29Kill some simplelock goo that annoyed me while reading.Thordur I. Bjornsson
ok art@
2007-05-29Add a name argument to the RWLOCK_INITIALIZER macro.Thordur I. Bjornsson
Pick reasonble names for the locks involved.. ok tedu@, art@
2007-05-27pagemove() is no longer used.Miod Vallat
2007-05-26Dynamic buffer cache. Initial diff from mickey@, okay art@ beck@ toby@Pedro Martelletto
deraadt@ dlg@.
2007-05-18Instead of checking whichqs directly, add a "sched_is_idle()" macro toArtur Grabowski
sys/sched.h and use that to check if there's something to do. kettenis@ thib@ ok
2007-05-18Instead of a silly loop with goto, just use while(1).Artur Grabowski
2007-05-09Truncate the addresses for the deadbeef values so that they don't needArtur Grabowski
to be page aligned and can contain more "noise". From mickey art@ ok
2007-04-29Change the loop test in uvm_km_kmemalloc from '<' to '!='. EverythingArtur Grabowski
is aligned just fine and in case we allocate the last piece of the address space we don't want wrap-around to cause us to fail. pointed out by and ok miod@
2007-04-27For uvm_map and uvm_unmap, splassert(IPL_NONE) for non-INTRSAFE maps.Artur Grabowski
miod@ ok
2007-04-27Another indentation cleanup without binary changes.Artur Grabowski
(I'm reading code, that's where this comes from).
2007-04-27Some ANSI function prototypes and misc cleanups.Artur Grabowski
only binary change is the line numbers to asserts.
2007-04-27Some indentation cleanup.Artur Grabowski
md5@ ok.
2007-04-27Use the right size when we're backing out the allocation inArtur Grabowski
uvm_km_kmemalloc. "should probbaly go in" millert@, "I think it should too" deraadt@
2007-04-19Also show fpu context switches in show uvmexp in ddb.Artur Grabowski
From mickey. art@ ok
2007-04-18Reserve a few pg_flags for pmaps that might want to use them.Artur Grabowski
i386 will use them soon and miod wants to work on other pmaps in parallell. miod@ ok
2007-04-15One more voff_t in the right place.Artur Grabowski
miod@ ok
2007-04-15Use the right types for calculating the object offset.Artur Grabowski
miod@ ok
2007-04-15Clean up prototypes, change vm_map_t to struct vm_map *.Artur Grabowski
miod@ ok
2007-04-15minor indentation.Artur Grabowski
2007-04-14remove staticTed Unangst
ok beck miod pedro thib
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-12Allow machine-dependant overrides for the ``deadbeef'' sentinel values,Miod Vallat
and make sure that nothing can ever be mapped at theses addresses. Only i386 overrides the default for now. From mickey@, ok art@ miod@
2007-04-12Unbreak compile with option UVMHIST after pg_flags changes.Artur Grabowski
from mickey
2007-04-11The return value of uvm_grow() (and previously, grow()) has not been usedMiod Vallat
in 15 years, make it a void function. ok art@
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-04Switch vm_map lock to rwlock.Artur Grabowski
Use a simple "rw_exit_read(); rw_enter_write();" for lock upgrade, since that's what lockmgr did anyway. deraadt@ 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 references to KERN_SUCCESS, okay miod@Pedro Martelletto
2007-03-25Remove the flags_lock simplelock from struct vm_map;Thordur I. Bjornsson
Cleanup the code accordingly. ok pedro@, art@
2007-03-25remove KERN_SUCCESS and use 0 instead.Artur Grabowski
eyeballed by miod@ and pedro@
2007-02-25Make integer wrap checks the same for mmap, munmap, msync, etcTodd C. Miller
by factoring most of the checks into a macro. OK otto@