Source-Changes archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

CVS commit: syssrc/sys



Module Name:    syssrc
Committed By:   thorpej
Date:           Fri Mar  8 20:48:47 UTC 2002

Modified Files:
        syssrc/sys/adosfs: advfsops.c
        syssrc/sys/arch/alpha/alpha: pmap.c
        syssrc/sys/arch/arm/arm32: pmap.c
        syssrc/sys/arch/arm26/arm26: pmap.c
        syssrc/sys/arch/cesfic/cesfic: pmap.c
        syssrc/sys/arch/hp300/hp300: pmap.c
        syssrc/sys/arch/i386/i386: pmap.c
        syssrc/sys/arch/luna68k/luna68k: pmap.c
        syssrc/sys/arch/mac68k/mac68k: iop.c pmap.c
        syssrc/sys/arch/mips/mips: pmap.c
        syssrc/sys/arch/mvme68k/mvme68k: pmap.c
        syssrc/sys/arch/news68k/news68k: pmap.c
        syssrc/sys/arch/pc532/pc532: pmap.c
        syssrc/sys/arch/powerpc/ibm4xx: pmap.c
        syssrc/sys/arch/powerpc/mpc6xx: pmap.c
        syssrc/sys/arch/sgimips/hpc: sbic.c
        syssrc/sys/arch/sh3/sh3: pmap.c
        syssrc/sys/arch/sparc/sparc: pmap.c
        syssrc/sys/arch/sparc64/sparc64: pmap.c
        syssrc/sys/arch/sun2/sun2: pmap.c
        syssrc/sys/arch/sun3/sun3: pmap.c
        syssrc/sys/arch/sun3/sun3x: pmap.c
        syssrc/sys/arch/x68k/x68k: pmap.c
        syssrc/sys/arch/x86_64/x86_64: pmap.c
        syssrc/sys/dev: ccd.c rnd.c vnd.c
        syssrc/sys/dev/ic: ncr53c9x.c wdc.c
        syssrc/sys/dev/raidframe: rf_netbsdkintf.c
        syssrc/sys/dev/scsipi: scsipi_base.c
        syssrc/sys/filecorefs: filecore_node.c
        syssrc/sys/isofs/cd9660: cd9660_node.c
        syssrc/sys/kern: kern_descrip.c kern_malloc_debug.c kern_proc.c
            kern_sig.c subr_extent.c subr_pool.c sys_pipe.c tty.c uipc_mbuf.c
            uipc_socket.c vfs_bio.c vfs_cache.c vfs_init.c vfs_subr.c
        syssrc/sys/msdosfs: msdosfs_denode.c
        syssrc/sys/net: if_bridge.c route.c
        syssrc/sys/netinet: in_pcb.c ip_flow.c ip_input.c tcp_input.c
            tcp_subr.c
        syssrc/sys/nfs: nfs_node.c
        syssrc/sys/sys: pool.h
        syssrc/sys/ufs/ext2fs: ext2fs_vfsops.c
        syssrc/sys/ufs/ffs: ffs_softdep.c ffs_vfsops.c
        syssrc/sys/ufs/lfs: lfs_vfsops.c
        syssrc/sys/uvm: uvm_amap.c uvm_aobj.c uvm_map.c uvm_swap.c

Log Message:
Pool deals fairly well with physical memory shortage, but it doesn't
deal with shortages of the VM maps where the backing pages are mapped
(usually kmem_map).  Try to deal with this:

* Group all information about the backend allocator for a pool in a
  separate structure.  The pool references this structure, rather than
  the individual fields.
* Change the pool_init() API accordingly, and adjust all callers.
* Link all pools using the same backend allocator on a list.
* The backend allocator is responsible for waiting for physical memory
  to become available, but will still fail if it cannot callocate KVA
  space for the pages.  If this happens, carefully drain all pools using
  the same backend allocator, so that some KVA space can be freed.
* Change pool_reclaim() to indicate if it actually succeeded in freeing
  some pages, and use that information to make draining easier and more
  efficient.
* Get rid of PR_URGENT.  There was only one use of it, and it could be
  dealt with by the caller.

>From art%openbsd.org.@localhost


To generate a diff of this commit:
cvs rdiff -r1.50 -r1.51 syssrc/sys/adosfs/advfsops.c
cvs rdiff -r1.190 -r1.191 syssrc/sys/arch/alpha/alpha/pmap.c
cvs rdiff -r1.51 -r1.52 syssrc/sys/arch/arm/arm32/pmap.c
cvs rdiff -r1.36 -r1.37 syssrc/sys/arch/arm26/arm26/pmap.c
cvs rdiff -r1.11 -r1.12 syssrc/sys/arch/cesfic/cesfic/pmap.c
cvs rdiff -r1.103 -r1.104 syssrc/sys/arch/hp300/hp300/pmap.c
cvs rdiff -r1.133 -r1.134 syssrc/sys/arch/i386/i386/pmap.c
cvs rdiff -r1.22 -r1.23 syssrc/sys/arch/luna68k/luna68k/pmap.c
cvs rdiff -r1.3 -r1.4 syssrc/sys/arch/mac68k/mac68k/iop.c
cvs rdiff -r1.85 -r1.86 syssrc/sys/arch/mac68k/mac68k/pmap.c
cvs rdiff -r1.140 -r1.141 syssrc/sys/arch/mips/mips/pmap.c
cvs rdiff -r1.76 -r1.77 syssrc/sys/arch/mvme68k/mvme68k/pmap.c
cvs rdiff -r1.28 -r1.29 syssrc/sys/arch/news68k/news68k/pmap.c
cvs rdiff -r1.67 -r1.68 syssrc/sys/arch/pc532/pc532/pmap.c
cvs rdiff -r1.8 -r1.9 syssrc/sys/arch/powerpc/ibm4xx/pmap.c
cvs rdiff -r1.37 -r1.38 syssrc/sys/arch/powerpc/mpc6xx/pmap.c
cvs rdiff -r1.6 -r1.7 syssrc/sys/arch/sgimips/hpc/sbic.c
cvs rdiff -r1.33 -r1.34 syssrc/sys/arch/sh3/sh3/pmap.c
cvs rdiff -r1.205 -r1.206 syssrc/sys/arch/sparc/sparc/pmap.c
cvs rdiff -r1.116 -r1.117 syssrc/sys/arch/sparc64/sparc64/pmap.c
cvs rdiff -r1.16 -r1.17 syssrc/sys/arch/sun2/sun2/pmap.c
cvs rdiff -r1.135 -r1.136 syssrc/sys/arch/sun3/sun3/pmap.c
cvs rdiff -r1.73 -r1.74 syssrc/sys/arch/sun3/sun3x/pmap.c
cvs rdiff -r1.75 -r1.76 syssrc/sys/arch/x68k/x68k/pmap.c
cvs rdiff -r1.4 -r1.5 syssrc/sys/arch/x86_64/x86_64/pmap.c
cvs rdiff -r1.75 -r1.76 syssrc/sys/dev/ccd.c
cvs rdiff -r1.25 -r1.26 syssrc/sys/dev/rnd.c
cvs rdiff -r1.77 -r1.78 syssrc/sys/dev/vnd.c
cvs rdiff -r1.89 -r1.90 syssrc/sys/dev/ic/ncr53c9x.c
cvs rdiff -r1.111 -r1.112 syssrc/sys/dev/ic/wdc.c
cvs rdiff -r1.116 -r1.117 syssrc/sys/dev/raidframe/rf_netbsdkintf.c
cvs rdiff -r1.67 -r1.68 syssrc/sys/dev/scsipi/scsipi_base.c
cvs rdiff -r1.9 -r1.10 syssrc/sys/filecorefs/filecore_node.c
cvs rdiff -r1.27 -r1.28 syssrc/sys/isofs/cd9660/cd9660_node.c
cvs rdiff -r1.84 -r1.85 syssrc/sys/kern/kern_descrip.c
cvs rdiff -r1.5 -r1.6 syssrc/sys/kern/kern_malloc_debug.c
cvs rdiff -r1.45 -r1.46 syssrc/sys/kern/kern_proc.c \
    syssrc/sys/kern/subr_extent.c
cvs rdiff -r1.119 -r1.120 syssrc/sys/kern/kern_sig.c
cvs rdiff -r1.65 -r1.66 syssrc/sys/kern/subr_pool.c
cvs rdiff -r1.22 -r1.23 syssrc/sys/kern/sys_pipe.c
cvs rdiff -r1.132 -r1.133 syssrc/sys/kern/tty.c
cvs rdiff -r1.57 -r1.58 syssrc/sys/kern/uipc_mbuf.c
cvs rdiff -r1.61 -r1.62 syssrc/sys/kern/uipc_socket.c
cvs rdiff -r1.78 -r1.79 syssrc/sys/kern/vfs_bio.c
cvs rdiff -r1.34 -r1.35 syssrc/sys/kern/vfs_cache.c
cvs rdiff -r1.20 -r1.21 syssrc/sys/kern/vfs_init.c
cvs rdiff -r1.170 -r1.171 syssrc/sys/kern/vfs_subr.c
cvs rdiff -r1.54 -r1.55 syssrc/sys/msdosfs/msdosfs_denode.c
cvs rdiff -r1.3 -r1.4 syssrc/sys/net/if_bridge.c
cvs rdiff -r1.50 -r1.51 syssrc/sys/net/route.c
cvs rdiff -r1.74 -r1.75 syssrc/sys/netinet/in_pcb.c
cvs rdiff -r1.22 -r1.23 syssrc/sys/netinet/ip_flow.c
cvs rdiff -r1.145 -r1.146 syssrc/sys/netinet/ip_input.c
cvs rdiff -r1.134 -r1.135 syssrc/sys/netinet/tcp_input.c
cvs rdiff -r1.122 -r1.123 syssrc/sys/netinet/tcp_subr.c
cvs rdiff -r1.51 -r1.52 syssrc/sys/nfs/nfs_node.c
cvs rdiff -r1.28 -r1.29 syssrc/sys/sys/pool.h
cvs rdiff -r1.48 -r1.49 syssrc/sys/ufs/ext2fs/ext2fs_vfsops.c
cvs rdiff -r1.29 -r1.30 syssrc/sys/ufs/ffs/ffs_softdep.c
cvs rdiff -r1.92 -r1.93 syssrc/sys/ufs/ffs/ffs_vfsops.c
cvs rdiff -r1.71 -r1.72 syssrc/sys/ufs/lfs/lfs_vfsops.c
cvs rdiff -r1.41 -r1.42 syssrc/sys/uvm/uvm_amap.c
cvs rdiff -r1.49 -r1.50 syssrc/sys/uvm/uvm_aobj.c
cvs rdiff -r1.117 -r1.118 syssrc/sys/uvm/uvm_map.c
cvs rdiff -r1.58 -r1.59 syssrc/sys/uvm/uvm_swap.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.




Home | Main Index | Thread Index | Old Index