Source-Changes archive

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

CVS commit: src



Module Name:    src
Committed By:   mrg
Date:           Sun Mar 29 01:02:51 UTC 2009

Modified Files:
        src/bin/csh: csh.1 func.c
        src/bin/ps: print.c ps.c
        src/bin/sh: miscbltin.c sh.1
        src/external/bsd/top/dist/machine: m_netbsd.c
        src/lib/libkvm: kvm_proc.c
        src/sys/arch/mips/mips: cpu_exec.c
        src/sys/compat/darwin: darwin_exec.c
        src/sys/compat/ibcs2: ibcs2_exec.c
        src/sys/compat/irix: irix_resource.c
        src/sys/compat/linux/arch/amd64: linux_exec_machdep.c
        src/sys/compat/linux/arch/i386: linux_exec_machdep.c
        src/sys/compat/linux/common: linux_limit.h
        src/sys/compat/osf1: osf1_resource.c
        src/sys/compat/svr4: svr4_resource.c
        src/sys/compat/svr4_32: svr4_32_resource.c
        src/sys/kern: exec_subr.c init_sysctl.c kern_exec.c kern_resource.c
        src/sys/sys: resource.h sysctl.h
        src/sys/uvm: uvm_extern.h uvm_glue.c uvm_mmap.c
        src/usr.bin/systat: ps.c

Log Message:
- add new RLIMIT_AS (aka RLIMIT_VMEM) resource that limits the total
address space available to processes.  this limit exists in most other
modern unix variants, and like most of them, our defaults are unlimited.
remove the old mmap / rlimit.datasize hack.

- adds the VMCMD_STACK flag to all the stack-creation vmcmd callers.
it is currently unused, but was added a few years ago.

- add a pair of new process size values to kinfo_proc2{}. one is the
total size of the process memory map, and the other is the total size
adjusted for unused stack space (since most processes have a lot of
this...)

- patch sh, and csh to notice RLIMIT_AS.  (in some cases, the alias
RLIMIT_VMEM was already present and used if availble.)

- patch ps, top and systat to notice the new k_vm_vsize member of
kinfo_proc2{}.

- update irix, svr4, svr4_32, linux and osf1 emulations to support
this information.  (freebsd could be done, but that it's best left
as part of the full-update of compat/freebsd.)

this addresses PR 7897.  it also gives correct memory usage values,
which have never been entirely correct (since mmap), and have been
very incorrect since jemalloc() was enabled.

tested on i386 and sparc64, build tested on several other platforms.

thanks to many folks for feedback and testing but most espcially
chuq and yamt for critical suggestions that lead to this patch not
having a special ugliness i wasn't happy with anyway :-)


To generate a diff of this commit:
cvs rdiff -u -r1.45 -r1.46 src/bin/csh/csh.1
cvs rdiff -u -r1.36 -r1.37 src/bin/csh/func.c
cvs rdiff -u -r1.110 -r1.111 src/bin/ps/print.c
cvs rdiff -u -r1.73 -r1.74 src/bin/ps/ps.c
cvs rdiff -u -r1.37 -r1.38 src/bin/sh/miscbltin.c
cvs rdiff -u -r1.91 -r1.92 src/bin/sh/sh.1
cvs rdiff -u -r1.6 -r1.7 src/external/bsd/top/dist/machine/m_netbsd.c
cvs rdiff -u -r1.81 -r1.82 src/lib/libkvm/kvm_proc.c
cvs rdiff -u -r1.54 -r1.55 src/sys/arch/mips/mips/cpu_exec.c
cvs rdiff -u -r1.56 -r1.57 src/sys/compat/darwin/darwin_exec.c
cvs rdiff -u -r1.72 -r1.73 src/sys/compat/ibcs2/ibcs2_exec.c
cvs rdiff -u -r1.14 -r1.15 src/sys/compat/irix/irix_resource.c
cvs rdiff -u -r1.15 -r1.16 \
    src/sys/compat/linux/arch/amd64/linux_exec_machdep.c
cvs rdiff -u -r1.11 -r1.12 \
    src/sys/compat/linux/arch/i386/linux_exec_machdep.c
cvs rdiff -u -r1.4 -r1.5 src/sys/compat/linux/common/linux_limit.h
cvs rdiff -u -r1.13 -r1.14 src/sys/compat/osf1/osf1_resource.c
cvs rdiff -u -r1.17 -r1.18 src/sys/compat/svr4/svr4_resource.c
cvs rdiff -u -r1.16 -r1.17 src/sys/compat/svr4_32/svr4_32_resource.c
cvs rdiff -u -r1.61 -r1.62 src/sys/kern/exec_subr.c
cvs rdiff -u -r1.159 -r1.160 src/sys/kern/init_sysctl.c
cvs rdiff -u -r1.287 -r1.288 src/sys/kern/kern_exec.c
cvs rdiff -u -r1.150 -r1.151 src/sys/kern/kern_resource.c
cvs rdiff -u -r1.30 -r1.31 src/sys/sys/resource.h
cvs rdiff -u -r1.183 -r1.184 src/sys/sys/sysctl.h
cvs rdiff -u -r1.152 -r1.153 src/sys/uvm/uvm_extern.h
cvs rdiff -u -r1.135 -r1.136 src/sys/uvm/uvm_glue.c
cvs rdiff -u -r1.127 -r1.128 src/sys/uvm/uvm_mmap.c
cvs rdiff -u -r1.31 -r1.32 src/usr.bin/systat/ps.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