diff options
author | David Greenman <dg@FreeBSD.org> | 1994-08-06 07:15:04 +0000 |
---|---|---|
committer | David Greenman <dg@FreeBSD.org> | 1994-08-06 07:15:04 +0000 |
commit | 0d2afceedd4c08ee0e215f7d1d5399dda6fd210e (patch) | |
tree | ec590a0ed15a5a1bd1d79a40e505550cd77efc3e /sys/kern/kern_exit.c | |
parent | ee4834308afd5221b61a4df2d6a0bc078ed30d0c (diff) | |
download | src-0d2afceedd4c08ee0e215f7d1d5399dda6fd210e.tar.gz src-0d2afceedd4c08ee0e215f7d1d5399dda6fd210e.zip |
Process scheduling changes - adapted from FreeBSD 1.1.5. Basically,
charge scheduling CPU of child process to the parent and have child
inherit scheduling CPU from parent on fork. Makes a **big** difference
in the feel of the system to interactive users.
Submitted by: John Dyson
Notes
Notes:
svn path=/head/; revision=1884
Diffstat (limited to 'sys/kern/kern_exit.c')
-rw-r--r-- | sys/kern/kern_exit.c | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/sys/kern/kern_exit.c b/sys/kern/kern_exit.c index 0a0ac8ff5074..b93a6567729b 100644 --- a/sys/kern/kern_exit.c +++ b/sys/kern/kern_exit.c @@ -36,7 +36,7 @@ * SUCH DAMAGE. * * @(#)kern_exit.c 8.7 (Berkeley) 2/12/94 - * $Id$ + * $Id: kern_exit.c,v 1.3 1994/08/02 07:41:59 davidg Exp $ */ #include <sys/param.h> @@ -358,6 +358,10 @@ loop: continue; nfound++; if (p->p_stat == SZOMB) { + /* charge childs scheduling cpu usage to parent */ + if( curproc->p_pid != 1) + curproc->p_estcpu += p->p_estcpu; + retval[0] = p->p_pid; #ifdef COMPAT_43 if (uap->compat) |