aboutsummaryrefslogtreecommitdiff
path: root/sys/vm
Commit message (Collapse)AuthorAgeFilesLines
* This commit was manufactured by cvs2svn to create branch 'RELEASE_2_0'.cvs2svn1994-11-221-2/+2
|
* This commit was manufactured by cvs2svn to create branch 'BETA_2_0'.cvs2svn1994-11-216-95/+65
| | | | Notes: svn path=/releng/BETA_2_0/; revision=4743
* Fixed return status from pagers. Ahem...the previous method would manufactureDavid Greenman1994-11-063-17/+25
| | | | | | | | | data when it couldn't get it legitimately. :-( Submitted by: John Dyson Notes: svn path=/head/; revision=4207
* Added support for starting the experimental "vmdaemon" system process.David Greenman1994-11-063-80/+358
| | | | | | | | | | | | | | | | | Enabled via REL2_1. Added support for doing object collapses "on the fly". Enabled via REL2_1a. Improved object collapses so that they can happen in more cases. Improved sensing of modified pages to fix an apparant race condition and improve clustered pageout opportunities. Fixed an "oops" with not restarting page scan after a potential block in vm_pageout_clean() (not doing this can result in strange behavior in some cases). Submitted by: John Dyson & David Greenman Notes: svn path=/head/; revision=4203
* Improved I/O error reporting.David Greenman1994-10-251-5/+19
| | | | Notes: svn path=/head/; revision=3841
* #if 0'd out the object cache trimming code - there are multiple waysDavid Greenman1994-10-251-1/+3
| | | | | | | | | that the pageout daemon can deadlock otherwise. Submitted by: John Dyson Notes: svn path=/head/; revision=3839
* Fixed object cache trimming policy so it actually works.David Greenman1994-10-231-7/+5
| | | | | | | Submitted by: John Dyson Notes: svn path=/head/; revision=3815
* Adjusted reserved levels to fix a deadlock condition.David Greenman1994-10-231-3/+3
| | | | | | | Submitted by: John Dyson Notes: svn path=/head/; revision=3814
* Changed a thread_sleep into an spl protected tsleep. A deadlock can occurDavid Greenman1994-10-232-9/+12
| | | | | | | | | otherwise. Minor efficiency improvement in vm_page_free(). Submitted by: John Dyson Notes: svn path=/head/; revision=3807
* Contrary to my last commit here: NFS-swap is enabled automatically.Poul-Henning Kamp1994-10-221-1/+15
| | | | Notes: svn path=/head/; revision=3798
* Fixed a comment from the previous commit.David Greenman1994-10-221-4/+4
| | | | Notes: svn path=/head/; revision=3772
* Various changes to allow operation without any swapspace configured. NoteDavid Greenman1994-10-223-13/+75
| | | | | | | | | | | that this is intended for use only in floppy situations and is done at the sacrifice of performance in that case (in ther words, this is not the best solution, but works okay for this exceptional situation). Submitted by: John Dyson Notes: svn path=/head/; revision=3766
* ATTENTION!Poul-Henning Kamp1994-10-211-9/+4
| | | | | | | | | | | | | | | | | From now on, >all< swapdevices must be activated with "swapon". If you havn't got it, add this line to /etc/fstab: /dev/wd0b none swap sw 0 0 ne sec Reason: We want our GENERIC* kernels to have a large selection of swap-devices, but on the other hand, we don't want to use a wd0b as swap when we boot of a floppy. This way, we will never use a unexpected swapdevice. Nothing else has changed. Notes: svn path=/head/; revision=3748
* Make my ALLDEVS kernel compile (basically, LINT minus a lot of options).Garrett Wollman1994-10-211-1/+5
| | | | | | | This involves fixing a few things I broke last time. Notes: svn path=/head/; revision=3745
* Fix the remaining vmmeter counters. They all now work correctly.David Greenman1994-10-182-3/+7
| | | | Notes: svn path=/head/; revision=3692
* Put sanity check for negative hold count into #ifdef DIAGNOSTIC so thatDavid Greenman1994-10-171-1/+5
| | | | | | | | it doesn't consume an extra 3k of kernel text because of gcc's bogus inlining code. Notes: svn path=/head/; revision=3660
* 1) Some of the counters in the vmmeter struct don't fit well into the Mach VMDavid Greenman1994-10-154-11/+26
| | | | | | | | | | | | | scheme of things, so I've changed them to be more appropriate. page in/ous are now associated with the pager that did them. Nuked v_fault as the only fault of interest that wouldn't be already counted in v_trap is a VM fault, and this is counted seperately. 2) Implemented most of the remaining counters and corrected the counting of some that were done wrong. They are all almost correct now...just a few minor ones left to fix. Notes: svn path=/head/; revision=3612
* Count vm faults as v_vm_fault, not v_fault.David Greenman1994-10-151-2/+2
| | | | Notes: svn path=/head/; revision=3611
* Properly count object lookups and hits.David Greenman1994-10-152-5/+5
| | | | Notes: svn path=/head/; revision=3610
* Got rid of redundant declaration warnings.David Greenman1994-10-142-7/+2
| | | | Notes: svn path=/head/; revision=3591
* Add missing )'s to previous midnight changes. :-)Jordan K. Hubbard1994-10-141-3/+3
| | | | Notes: svn path=/head/; revision=3587
* Fixed bug where page modifications would be lost when swap space wasDavid Greenman1994-10-141-2/+11
| | | | | | | | | almost depleted. Reviewed by: John Dyson Notes: svn path=/head/; revision=3573
* Changed I/O error messages to be somewhat less cryptic. Removed a pieceDavid Greenman1994-10-141-6/+3
| | | | | | | of unused code. Notes: svn path=/head/; revision=3572
* Fixed an object reference count problem that was caused by a call toDavid Greenman1994-10-131-4/+3
| | | | | | | | | | vm_object_lookup() being outside of some parens. The bug was introduced via some recently added code. Reviewed by: John Dyson Notes: svn path=/head/; revision=3567
* Got rid of map.h. It's a leftover from the rmap code, and we use rlists.David Greenman1994-10-092-9/+11
| | | | | | | Changed swapmap into swaplist. Notes: svn path=/head/; revision=3451
* Cosmetics: unused vars, ()'s, #include's &c &c to silence gcc.Poul-Henning Kamp1994-10-0915-138/+145
| | | | | | | Reviewed by: davidg Notes: svn path=/head/; revision=3449
* Call resetpriority, not setpriority() ...oops.David Greenman1994-10-091-2/+2
| | | | | | | Submitted by: John Dyson Notes: svn path=/head/; revision=3446
* Cosmetics. Unused vars and other warnings.Poul-Henning Kamp1994-10-071-14/+10
| | | | Notes: svn path=/head/; revision=3407
* Stuff object into v_vmdata rather than pager. Not important which atDavid Greenman1994-10-054-99/+130
| | | | | | | | | | the moment, but will be in the future. Other changes mostly cosmetic, but are made for future VMIO considerations. Submitted by: John Dyson Notes: svn path=/head/; revision=3374
* Fixed minor bug caused by some missing parens that can result in slightlyDavid Greenman1994-10-051-2/+2
| | | | | | | | reduced paging performance by missing a clustering opportunity. Found by Poul-Henning Kamp with gcc -Wall. Notes: svn path=/head/; revision=3373
* John Dyson's work in progress. Not currently used.David Greenman1994-10-041-0/+389
| | | | Notes: svn path=/head/; revision=3354
* Fixed bug related to proper sensing of page modification that weDavid Greenman1994-10-041-8/+9
| | | | | | | | | | inadvertantly introduced in pre-1.1.5. This could cause page modifications to go unnoticed during certain extreme low memory/high paging rate conditions. Submitted by: John Dyson and David Greenman Notes: svn path=/head/; revision=3347
* GCC cleanup.Poul-Henning Kamp1994-10-021-2/+3
| | | | | | | | | Reviewed by: Submitted by: Obtained from: Notes: svn path=/head/; revision=3311
* Previous commit should have read ...in vm_page_alloc_contig().David Greenman1994-09-271-2/+3
| | | | | | | | | | | ...(this commit): moved initialization of 'start' to make it more clear that it is initialized properly (also in vm_page_alloc_contig). Reviewed by: Submitted by: Obtained from: Notes: svn path=/head/; revision=3154
* Fixed another bug, and cleaned up the code.David Greenman1994-09-271-6/+6
| | | | Notes: svn path=/head/; revision=3153
* Fixed multiple bugs in previous version of vm_page_alloc_contig.David Greenman1994-09-271-14/+15
| | | | Notes: svn path=/head/; revision=3147
* 1) New "vm_page_alloc_contig" routine by me.David Greenman1994-09-273-5/+83
| | | | | | | | 2) Created a new vm_page flag "PG_FREE" to help track free pages. 3) Use PG_FREE flag to detect inconsistencies in a few places. Notes: svn path=/head/; revision=3145
* Removed unimplemented subr_rmap.c and unused references to it.David Greenman1994-09-251-24/+1
| | | | Notes: svn path=/head/; revision=3103
* Disabled swap anti-fragmentation code. It reduces swap paging performanceDavid Greenman1994-09-251-7/+9
| | | | | | | | | by 20% in my tests, and it appears to be the cause of a swap leak. Submitted by: John Dyson Notes: svn path=/head/; revision=3083
* Fixed a bug I introduced when fixing the rss limit code. Changed swapoutDavid Greenman1994-09-122-8/+15
| | | | | | | | | policy to be a bit more selective about what processes get swapped out. Reviewed by: John Dyson Notes: svn path=/head/; revision=2692
* Eliminated a whole pile of ancient (we're taking 4.3BSD) VM systemDavid Greenman1994-09-121-2/+1
| | | | | | | | | related #define constants. Corrected incorrect VM_MAX_KERNEL_ADDRESS. Reviewed by: John Dyson Notes: svn path=/head/; revision=2689
* Don't deactivate pages in 0-refcount objects. Added a couple of missingDavid Greenman1994-09-121-23/+19
| | | | | | | | | | paging stats. Fixed problem with free_reserved becoming depleted during certain swap_pager operations. Submitted by: John Dyson, with a little help from me Notes: svn path=/head/; revision=2688
* Fixed problem with no swap on boot device, but there is some on anDavid Greenman1994-09-111-3/+7
| | | | | | | | alternate device (as specified via kernel config file)...that casues the machine to panic. Notes: svn path=/head/; revision=2654
* Disabled a debugging printf.David Greenman1994-09-061-1/+3
| | | | Notes: svn path=/head/; revision=2524
* Simple changes to paging algorithms...but boy do they make a difference.David Greenman1994-09-062-21/+100
| | | | | | | | | FreeBSD's paging performance has never been better. Wow. Submitted by: John Dyson Notes: svn path=/head/; revision=2521
* Whoops, accidently left out some pieces of the munmapfd patch.David Greenman1994-09-022-6/+7
| | | | Notes: svn path=/head/; revision=2462
* Removed all vestiges of tlbflush(). Replaced them with calls to pmap_update().David Greenman1994-09-021-2/+1
| | | | | | | Made pmap_update an inline assembly function. Notes: svn path=/head/; revision=2455
* Fixed bug caused by change of rlimit variables to quad_t's. The bug was inDavid Greenman1994-08-301-11/+10
| | | | | | | | | | | | | using min() to calculate the minimum of rss_cur,rss_max - since these are now quad_t's and min() takes u_ints...the comparison later for exceeding the rss limit was always true - resulting in rather serious page thrashing. Now using new qmin() function for this purpose. Fixed another bug where PG_BUSY pages would sometimes be paged out (bad!). This was caused by the PG_BUSY flag not being included in a comparison. Notes: svn path=/head/; revision=2413
* Patches from John Dyson to improve swap code efficiency.David Greenman1994-08-292-20/+9
| | | | | | | | | | Religiously add back pmap_clear_modify() in vnode_pager_input until we figure out why system performance isn't what we expect. Submitted by: John Dyson (swap_pager) & David Greenman (vnode_pager) Notes: svn path=/head/; revision=2386
* 1) Changed ddb into a option rather than a pseudo-device (use options DDBDavid Greenman1994-08-271-3/+3
| | | | | | | | | | | | | in your kernel config now). 2) Added ps ddb function from 1.1.5. Cleaned it up a bit and moved into its own file. 3) Added \r handing in db_printf. 4) Added missing memory usage stats to statclock(). 5) Added dummy function to pseudo_set so it will be emitted if there are no other pseudo declarations. Notes: svn path=/head/; revision=2320