summaryrefslogtreecommitdiffstats
path: root/sys/kern/vfs_cluster.c
Commit message (Collapse)AuthorAgeFilesLines
...
* Eliminated many redundant vm_map_lookup operations for vm_mmap.dyson1996-01-191-31/+26
| | | | | | | | | | | | | | | | | | | | | | | | | Speed up for vfs_bio -- addition of a routine bqrelse to greatly diminish overhead for merged cache. Efficiency improvement for vfs_cluster. It used to do alot of redundant calls to cluster_rbuild. Correct the ordering for vrele of .text and release of credentials. Use the selective tlb update for 486/586/P6. Numerous fixes to the size of objects allocated for files. Additionally, fixes in the various pagers. Fixes for proper positioning of vnode_pager_setsize in msdosfs and ext2fs. Fixes in the swap pager for exhausted resources. The pageout code will not as readily thrash. Change the page queue flags (PG_ACTIVE, PG_INACTIVE, PG_FREE, PG_CACHE) into page queue indices (PQ_ACTIVE, PQ_INACTIVE, PQ_FREE, PQ_CACHE), thereby improving efficiency of several routines. Eliminate even more unnecessary vm_page_protect operations. Significantly speed up process forks. Make vm_object_page_clean more efficient, thereby eliminating the pause that happens every 30seconds. Make sequential clustered writes B_ASYNC instead of B_DELWRI even in the case of filesystems mounted async. Fix a panic with busy pages when write clustering is done for non-VMIO buffers.
* Fixed bugs and finished staticization for things inside `#ifdef DEBUG'.bde1995-12-221-20/+22
| | | | | Moved most of these things inside `#ifdef notyet_block_reallocation_enabled' where they may never be used again.
* Changes to support 1Tb filesizes. Pages are now named by andyson1995-12-111-105/+112
| | | | (object,index) pair instead of (object,offset) pair.
* Untangled the vm.h include file spaghetti.dg1995-12-071-1/+3
|
* Yet another small block FS bug fix.dyson1995-11-201-2/+2
|
* Fix more clustering bugs for FSes with block sizes < PAGE_SIZE.dyson1995-11-201-6/+2
|
* Changed an incorrect splhigh to splbio.dyson1995-11-191-2/+2
|
* General fixes to the vfs clustring code:dyson1995-11-191-115/+77
| | | | | | | | | | | 1) Make cluster buffer list be a non-malloced chain. This eliminates yet another 'evil' M_WAITOK and generally cleans up the code. 2) Fix write clustering for ext2fs. It was just broken. Also, ffs clustering had an efficiency problem that more bawrites were happening than should have been. 3) Make changes to buf.h to support the above, plus remove b_pfcent at the request of David Greenman. Reviewed by: davidg (partially)
* Change some of the debug sysctl vars. The semantics of these will change.phk1995-11-141-2/+2
|
* Second batch of cleanup changes.phk1995-10-291-5/+1
| | | | | This time mostly making a lot of things static and some unused variables here and there.
* Work-around a problem in the clustering code on non-VMIO buffers. Thedyson1995-10-091-2/+3
| | | | | write-side needs rewriting, but this makes a ktrace panic go away for now.
* These changes fix a bug in the clustering code that I made worse when addingdyson1995-09-231-6/+15
| | | | | | | | | | | support for EXT2FS. Note that the Sig-11 problems appear to be caused by this, but there is still probably an underlying VM problem that let this clustering bug cause vnode objects to appear to be corrupted. The direct manifestation of this bug would have been severely mis-read files. It is possible that processes would Sig-11 on very damaged input files and might explain the mysterious differences in system behaviour when phk's malloc is being used.
* Added VOP_GETPAGES/VOP_PUTPAGES and also the "backwards" block countdyson1995-09-041-3/+3
| | | | for VOP_BMAP. Updated affected filesystems...
* VOP_BMAP will eventually need an additional argument, but not yet. Thisdyson1995-09-031-3/+3
| | | | | backs out that modification to minimize the window during which this is not yet correct.
* Improvements to the cluster code, minor vfs_bio efficiency:dyson1995-09-031-84/+163
| | | | | | | | | Better performance -- more aggressive read-ahead under certain circumstanses. Mods to support clustering on small ( < PAGE_SIZE) block size filesystems (e.g. ext2fs, msdosfs.)
* Don't include vm_pageout.h.dg1995-06-281-2/+1
|
* Remove trailing whitespace.rgrimes1995-05-301-3/+3
|
* Check for case of blkno already known to avoid unnecessary VOP_BMAP's.dg1995-04-041-1/+2
| | | | Submitted by: John Dyson
* Fix from Doug Rabson: Don't try to release a pbuf we didn't get.dg1995-03-191-4/+5
| | | | Minor style change by me.
* Add and move declarations to fix all of the warnings from `gcc -Wimplicit'bde1995-03-161-4/+3
| | | | | | (except in netccitt, netiso and netns) and most of the warnings from `gcc -Wnested-externs'. Fix all the bugs found. There were no serious ones.
* Removed obsolete vtrace() remnants.dg1995-03-041-2/+1
|
* Don't try to cluster busy buffers.dg1995-03-021-16/+35
| | | | Submitted by: John Dyson
* vfs_cluster.c:dg1995-02-221-17/+18
| | | | | | | | | Various more tweaks from John Dyson to improve read ahead calculations. vfs_subr.c: Only wakeup if numoutput is 0 in vwakeup(). Submitted by: John Dyson
* Fixed a variety of deadlock and panic bugs, removed the bypass code, anddg1995-01-241-11/+28
| | | | | | | | implemented the ability to limit bufferspace by memory consumed. (vfs_bio.c) Fixed recently introduced bugs that caused extra I/O to happen in some cases. (vfs_cluster.c) Submitted by: John Dyson
* These changes embody the support of the fully coherent merged VM buffer cache,dg1995-01-091-387/+264
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | much higher filesystem I/O performance, and much better paging performance. It represents the culmination of over 6 months of R&D. The majority of the merged VM/cache work is by John Dyson. The following highlights the most significant changes. Additionally, there are (mostly minor) changes to the various filesystem modules (nfs, msdosfs, etc) to support the new VM/buffer scheme. vfs_bio.c: Significant rewrite of most of vfs_bio to support the merged VM buffer cache scheme. The scheme is almost fully compatible with the old filesystem interface. Significant improvement in the number of opportunities for write clustering. vfs_cluster.c, vfs_subr.c Upgrade and performance enhancements in vfs layer code to support merged VM/buffer cache. Fixup of vfs_cluster to eliminate the bogus pagemove stuff. vm_object.c: Yet more improvements in the collapse code. Elimination of some windows that can cause list corruption. vm_pageout.c: Fixed it, it really works better now. Somehow in 2.0, some "enhancements" broke the code. This code has been reworked from the ground-up. vm_fault.c, vm_page.c, pmap.c, vm_object.c Support for small-block filesystems with merged VM/buffer cache scheme. pmap.c vm_map.c Dynamic kernel VM size, now we dont have to pre-allocate excessive numbers of kernel PTs. vm_glue.c Much simpler and more effective swapping code. No more gratuitous swapping. proc.h Fixed the problem that the p_lock flag was not being cleared on a fork. swap_pager.c, vnode_pager.c Removal of old vfs_bio cruft to support the past pseudo-coherency. Now the code doesn't need it anymore. machdep.c Changes to better support the parameter values for the merged VM/buffer cache scheme. machdep.c, kern_exec.c, vm_glue.c Implemented a seperate submap for temporary exec string space and another one to contain process upages. This eliminates all map fragmentation problems that previously existed. ffs_inode.c, ufs_inode.c, ufs_readwrite.c Changes for merged VM/buffer cache. Add "bypass" support for sneaking in on busy buffers. Submitted by: John Dyson and David Greenman
* Fix possible off by one in b_save allocation size.dg1994-12-181-2/+2
|
* Cosmetics: added ()'s and fixed prinf-formats to make gcc silent.phk1994-10-081-6/+6
|
* Temporarily (?) disable block reallocation until either the real bug isdg1994-09-241-3/+3
| | | | found or we throw out the vfs cluster code entirely.
* Changed B_AGE policy to work correctly in a world with relatively largedg1994-08-081-2/+2
| | | | buffer caches. The old policy generally ended up caching nothing.
* Added $Id$dg1994-08-021-0/+1
|
* The big 4.4BSD Lite to FreeBSD 2.0.0 (Development) patch.rgrimes1994-05-251-1/+2
| | | | | Reviewed by: Rodney W. Grimes Submitted by: John Dyson and David Greenman
* BSD 4.4 Lite Kernel Sourcesrgrimes1994-05-241-0/+746
OpenPOWER on IntegriCloud