summaryrefslogtreecommitdiff
path: root/sys/uvm/uvm_pdaemon.c
AgeCommit message (Collapse)Author
2007-12-18Turn the uvm_{lock/unlock}_fpageq() inlines intoThordur I. Bjornsson
macros that just expand into the mutex functions to keep the abstraction, do assorted cleanup. ok miod@,art@
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-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-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")
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-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-05-16tpyoMichael Shalayeff
2006-05-07remove drain hooks from pool.Ted Unangst
1. drain hooks and lists of allocators make the code complicated 2. the only hooks in the system are the mbuf reclaim routines 3. if reclaim is actually able to put a meaningful amount of memory back in the system, i think something else is dicked up. ie, if reclaiming your ip fragment buffers makes the difference thrashing swap and not, your system is in a load of trouble. 4. it's a scary amount of code running with very weird spl requirements and i'd say it's pretty much totally untested. raise your hand if your router is running at the edge of swap. 5. the reclaim stuff goes back to when mbufs lived in a tiny vm_map and you could run out of va. that's very unlikely (like impossible) now. ok/tested pedro krw sturm
2002-05-24Make sure that b_iodone handlers are called at splbio (and ↵Artur Grabowski
splassert(IPL_BIO) in all known callers, just to make sure).
2002-03-14First round of __P removal in sysTodd C. Miller
2002-02-10spellingTheo de Raadt
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@
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-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-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-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-05Minor sync to NetBSD.Artur Grabowski
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-07-18Make uvm_wait take a const char *Artur Grabowski
2001-07-18Get rid of the PMAP_NEW option by making it mandatory for all archs.Artur Grabowski
The archs that didn't have a proper PMAP_NEW now have a dummy implementation with wrappers around the old functions.
2001-03-22Sync style, typo, and comments a little closer to NetBSD. art@ oksmart
2001-03-08Replace thread_wakeup() with wakeup(). It is defined in vm_extern.h as asmart
wrapper, so this removes a dependence on the old VM system. From NetBSD. art@ ok
2001-01-29$OpenBSD$Niklas Hallqvist
2000-11-10seperate -> separate, okay aaron@Niels Provos
2000-03-16Bring in some new UVM code from NetBSD (not current).Artur Grabowski
- Introduce a new type of map that are interrupt safe and never allow faults in them. mb_map and kmem_map are made intrsafe. - Add "access protection" to uvm_vslock (to be passed down to uvm_fault and later to pmap_enter). - madvise(2) now works. - various cleanups.
1999-12-30swap encryption for UVM, option UVM_SWAP_ENCRYPT. needs to be enabledNiels Provos
via sysctl. Pages are encrypted with the Blowfish encryption algorithm, the key is initialized randomly on first swap out, ensuring that entropy has accumulated in the kernel randomness pool. Eventually, swap encryption will be decided on a process by process basis, e.g. a process that reads from a cryptographic filesystem will enable swap encrypt for its pages. okay art@ and deraadt@.
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