summaryrefslogtreecommitdiffstats
path: root/sys/i386/include/vmparam.h
Commit message (Collapse)AuthorAgeFilesLines
* Make sysv-style shared memory tuneable params fully runtime adjustablepeter2000-03-301-7/+0
| | | | | | | | via sysctl. It's done pretty simply but it should be quite adequate. Also move SHMMAXPGS from $machine/include/vmparam.h as the comments that went with it were wrong... we don't allocate KVM space for the pages so that comment is bogus.. The only practical limit is how much physical ram you want to lock up as this stuff isn't paged out or swap backed.
* $Id$ -> $FreeBSD$peter1999-08-281-1/+1
|
* Increased max kmem to 200MB. This should fix some out-of-kmem panics ondg1999-07-241-2/+2
| | | | large systems.
* Increased MAXTSIZ to 128MB...there are binaries that get quite large.dg1998-06-121-3/+3
| | | | | Increased DFLDSIZ to 128MB, as it is a better default. Reviewed by: jkh
* Try to dynamically size the VM_KMEM_SIZE (but is still able to be overriddendyson1998-02-231-2/+18
| | | | | | | | | | | | in a way identically as before.) I had problems with the system properly handling the number of vnodes when there is alot of system memory, and the default VM_KMEM_SIZE. Two new options "VM_KMEM_SIZE_SCALE" and "VM_KMEM_SIZE_MAX" have been added to support better auto-sizing for systems with greater than 128MB. Add some accouting for vm_zone memory allocations, and provide properly for vm_zone allocations out of the kmem_map. Also move the vm_zone allocation stats to the VM OID tree from the KERN OID tree.
* 1) Start using a cleaner and more consistant page allocator insteaddyson1998-02-051-1/+6
| | | | | | | | | | | | | | | | | | | | | | | | of the various ad-hoc schemes. 2) When bringing in UPAGES, the pmap code needs to do another vm_page_lookup. 3) When appropriate, set the PG_A or PG_M bits a-priori to both avoid some processor errata, and to minimize redundant processor updating of page tables. 4) Modify pmap_protect so that it can only remove permissions (as it originally supported.) The additional capability is not needed. 5) Streamline read-only to read-write page mappings. 6) For pmap_copy_page, don't enable write mapping for source page. 7) Correct and clean-up pmap_incore. 8) Cluster initial kern_exec pagin. 9) Removal of some minor lint from kern_malloc. 10) Correct some ioopt code. 11) Remove some dead code from the MI swapout routine. 12) Correct vm_object_deallocate (to remove backing_object ref.) 13) Fix dead object handling, that had problems under heavy memory load. 14) Add minor vm_page_lookup improvements. 15) Some pages are not in objects, and make sure that the vm_page.c can properly support such pages. 16) Add some more page deficit handling. 17) Some minor code readability improvements.
* Bump MAXDSIZ to 512MB so that soft limits have a chance to actuallyjkh1997-10-271-2/+2
| | | | | regulate this. Reviewed by: dyson
* Allow the kernel configuration file to override the amount of memorytegge1997-06-251-1/+3
| | | | | | | available to the kernel (VM_KMEM_SIZE). The default (32 MB) is too low when having 512 MB or more physical memory in a server environment. This is relevant on systems where "panic: kmem_malloc: kmem_map too small" is a problem.
* Use UPAGES_HOLE instead of UPAGES in case it's changed some time.peter1997-04-071-2/+2
| | | | | | | | | Rename the PT* index KSTK* #defines to UMAX*, since we don't have a kernel stack there any more.. These are used to calculate VM_MAXUSER_ADDRESS and USRSTACK, and really do not want to be changed with UPAGES since BSD/OS 2.x binary compatability depends on it.
* Back out part 1 of the MCFH that changed $Id$ to $FreeBSD$. We are notpeter1997-02-221-1/+1
| | | | ready for it yet.
* Make the long-awaited change from $Id$ to $FreeBSD$jkh1997-01-141-1/+1
| | | | | | | | This will make a number of things easier in the future, as well as (finally!) avoiding the Id-smashing problem which has plagued developers for so long. Boy, I'm glad we're not using sup anymore. This update would have been insane otherwise.
* Let the VM system know that on certain arch's that VM_PROT_READdyson1996-12-301-1/+3
| | | | | | | | | | | | | | also implies VM_PROT_EXEC. We support it that way for now, since the break system call by default gives VM_PROT_ALL. Now we have a better chance of coalesing map entries when mixing mmap/break type operations. This was contributing to excessive numbers of map entries on the modula-3 runtime system. The problem is still not "solved", but the situation makes more sense. Eventually, when we work on architectures where VM_PROT_READ is orthogonal to VM_PROT_EXEC, we will have to visit this issue carefully (esp. regarding security issues.)
* removed:phk1996-05-021-3/+3
| | | | | | | | | CLBYTES PD_SHIFT PGSHIFT NBPG PGOFSET CLSIZELOG2 CLSIZE pdei() ptei() kvtopte() ptetov() ispt() ptetoav() &c &c new: NPDEPG Major macro cleanup.
* pte.h: Add the VADDR(pdi,pti) macro to construct virtual address fromphk1996-04-301-14/+21
| | | | | | | page dir+table index. pmap.h: remove NUPDE, it was wrong and not used. Sanitize KSTKPTEOFF. vmparam.h: Calculate virtual addr from PDI+PTI from pmap.h rather than using magic math. Remove UPDT, not used.
* Killed some historical #define cruft that we've never used in FreeBSD:dg1996-03-121-22/+1
| | | | | | | | | | | | UDOT_SZ SYSPTSIZE USRPTSIZE MSGBUFPTECNT DMMIN DMMAX DMTEXT USRIOSIZE VM_PHYS_SIZE
* Made "NMBCLUSTERS" calculation dynamic and fixed bogus use of "NMBCLUSTERS"dg1995-05-251-2/+1
| | | | | | | | | | | | in machdep.c (it should use the global nmbclusters). Moved the calculation of nmbclusters into conf/param.c (same place where nmbclusters has always been assigned), and made the calculation include an extra amount based on "maxusers". NMBCLUSTERS can still be overrided in the kernel config file as always, but this change will make that generally unnecessary. This fixes the "bug" reports from people who have misconfigured kernels seeing the network hang when the mbuf cluster pool runs out. Reviewed by: John Dyson
* These changes embody the support of the fully coherent merged VM buffer cache,dg1995-01-091-3/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* Increased SHMMAXPGS from 512 to 1024 now that there is plenty of kerneldg1994-09-231-2/+2
| | | | virtual memory.
* Eliminated a whole pile of ancient (we're taking 4.3BSD) VM systemdg1994-09-121-111/+7
| | | | | | related #define constants. Corrected incorrect VM_MAX_KERNEL_ADDRESS. Reviewed by: John Dyson
* Got rid of some old, unused junk.dg1994-09-011-26/+1
|
* The big 4.4BSD Lite to FreeBSD 2.0.0 (Development) patch.rgrimes1994-05-251-14/+0
| | | | | Reviewed by: Rodney W. Grimes Submitted by: John Dyson and David Greenman
* Changed dynamic stack grow code to grow by "SGROWSIZ" amount. Initiallydg1994-03-211-2/+5
| | | | | allocate SGROWSIZ amount of stack. Also set vm_ssize to the initial stack VM size. Increased DFLSSIZ stack rlimit default to 8MB.
* "New" VM system from John Dyson & myself. For a run-down of thedg1994-01-141-10/+19
| | | | | major changes, see the log of any effected file in the sys/vm directory (swap_pager.c for instance).
* Increased maximum and default 'size' limits to more reasonable values.dg1994-01-031-5/+5
|
* Make everything compile with -Wtraditional. Make it easier to distributewollman1993-12-191-16/+16
| | | | | | | | | | | a binary link-kit. Make all non-optional options (pagers, procfs) standard, and update LINT to reflect new symtab requirements. NB: -Wtraditional will henceforth be forgotten. This editing pass was primarily intended to detect any constructions where the old code might have been relying on traditional C semantics or syntax. These were all fixed, and the result of fixing some of them means that -Wall is now a realistic possibility within a few weeks.
* Made all header files idempotent and moved incorrect common data fromwollman1993-11-071-1/+5
| | | | | headers into a related source file. Added cons.h as first step towards moving i386/i386/cons.h to machine/cons.h where it belongs.
* param.h:rgrimes1993-10-151-6/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Mark the fact that PGSHIFT and PDRSHIFT are really the same as PG_SHIFT and PD_SHIFT, these should be collapsed some day soon. Document that KERNBASE should really be KPTDPTDI << PDRSHIFT, for now leave it as the constant 0xFE000000 until I make a seperate common header file for this stuff (vmaddresses.h?) Remove NKMEMCLUSTERS define, it was only being used to define VM_KMEM_SIZE, so why have all the indirection. Besides who wants to work in CLBYTE sizes chuncks. pmap.h: Fix $Id$ and some other minor format clean ups. Remove the XXX comment about NKPDE, since it now has the correct value of 7. Remove unused LASTPTDI and move the APTD into the very end of memory to free up 4MB of kernel virtual address space. Remove unused RSVDPTDI and free up 12MB of kernel virtual address space. vmparam.h Fix $Id$. Increase SHMMAXPGS to 512 (2MB) now that there is room for it to be bigger. The XXX comment stays until the kernel moves down in memory to free up enough space to use the proper default of 4MB. VM_KMEM_SIZE is now a direct constant stating the size of the kernel malloc region. Increased the value from 3MB to 16MB.
* Correct spelling of "SHMMAXPGS" so the config override will actually work.dg1993-10-091-1/+1
|
* define SHMMAXPGS where it is suppose to be, you can over ride this withrgrimes1993-09-271-0/+7
| | | | | a kernel config options "SHMAXPGS=xxx", default is currently 64 pages due to limit kernel map space.
* Increased stack size to 8MB just to be on the real safe side.rgrimes1993-09-011-1/+1
|
* Changed MAXSSIZ from MAXDSIZ to 2MBrgrimes1993-08-281-1/+1
|
* Increased default data size (DFLDSIZ) to 16MB. Need to rebuild libutil,root1993-07-031-1/+1
| | | | kernel, ps and w for this to work!
* Initial import, 0.1 + pk 0.2.4-B1rgrimes1993-06-121-0/+256
OpenPOWER on IntegriCloud