summaryrefslogtreecommitdiff
path: root/sys/uvm/uvm_swap.c
AgeCommit message (Collapse)Author
2002-03-14First round of __P removal in sysTodd C. Miller
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-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-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-30Call buf_cleanout, which handles wakeupsConstantine Sapuntzakis
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-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.
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-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-09-05use %ll instead of %qTheo de Raadt
2001-08-31do not init swapdev_vp if it's already done elsewhere; art@ okMichael Shalayeff
2001-08-11Various random fixes from NetBSD.Artur Grabowski
Including support for zeroing pages in the idle loop (not enabled yet).
2001-08-06remove vm_conf.h; art@ okMichael Shalayeff
2001-07-31minor sync to NetBSD.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-07-18minor sync to NetBSD, nothing changed.Artur Grabowski
2001-07-05Get rid of the wrapper macros around extent_alloc*1Artur Grabowski
Pass the right amount of arguments and rename them back to their right names.
2001-06-23convert to use pool_init.Artur Grabowski
2001-03-26Typo: parition -> partitionAaron Campbell
2001-03-09PATH_MAX+1 is wrong. Not cranking libc/libc_r majors over this, since they ↵Theo de Raadt
just got cranked a little while ago. discussion with millert
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-02-24Cleanup of vnode interface continues. Get rid of VHOLD/HOLDRELE.Constantine Sapuntzakis
Change VM/UVM to use buf_replacevnode to change the vnode associated with a buffer. Addition v_bioflag for flags written in interrupt handlers (and read at splbio, though not strictly necessary) Add vwaitforio and use it instead of a while loop of v_numoutput. Fix race conditions when manipulation vnode free list
2001-01-29$OpenBSD$Niklas Hallqvist
2001-01-25spellingTodd T. Fries
2000-09-07Convert bzero to memset(X, 0..) and bcopy to memcpy.Artur Grabowski
This is to match (make diffs smaller) the code in NetBSD. new gcc inlines those functions, so this could also be a performance win.
2000-05-27use rijndael instead of blowfish because of faster key setup.Niels Provos
break swap paritions into sections, each section has own encryption key. if a section's key becomes unreferenced, erase it.
2000-05-26use encrypted blocknumber as IVNiels Provos
2000-03-21only free in swap_off if allocated.Niels Provos
2000-03-18postpone memory allocation for uvm swap encryption until it is turned on withNiels Provos
sysctl.
2000-03-18make uvm swap encrypt compile again, from markus@Niels Provos
2000-03-15Fix the NetBSD id strings.Artur Grabowski
2000-01-05nfs vnodeops are only defined with NFSCLIENT, not NFSSERVER.Artur Grabowski
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-12-02Init the buffer dependency list.Artur Grabowski
1999-11-26Remove unnecessary printfs. From deraadt@Artur Grabowski
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-07-08NFS -> NFSSERVER|NFSCLIENTTheo de Raadt
1999-06-24don't free spp in swapmount, someone else does that for us. From: mickey@Artur Grabowski
1999-06-17This is embarassing. (I have to start testing the code that I retype from ↵Artur Grabowski
the diffs)
1999-06-04start swapping on the first swap device after initializationArtur Grabowski
1999-06-04remove sys_swapon, it's in already in compat. (how did this ever link?)Artur Grabowski
1999-06-02enable sys_swapctl() implementationMichael Shalayeff
1999-02-26add OpenBSD tagsArtur Grabowski