aboutsummaryrefslogtreecommitdiff
path: root/sys/kern/kern_exit.c
diff options
context:
space:
mode:
authorDavid Greenman <dg@FreeBSD.org>1994-08-06 07:15:04 +0000
committerDavid Greenman <dg@FreeBSD.org>1994-08-06 07:15:04 +0000
commit0d2afceedd4c08ee0e215f7d1d5399dda6fd210e (patch)
treeec590a0ed15a5a1bd1d79a40e505550cd77efc3e /sys/kern/kern_exit.c
parentee4834308afd5221b61a4df2d6a0bc078ed30d0c (diff)
downloadsrc-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.c6
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)