Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 14 Mar 2010 13:07:40 +0000 (UTC)
From:      Jilles Tjoelker <jilles@FreeBSD.org>
To:        src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-8@freebsd.org
Subject:   svn commit: r205150 - stable/8/sys/kern
Message-ID:  <201003141307.o2ED7eID048268@svn.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: jilles
Date: Sun Mar 14 13:07:40 2010
New Revision: 205150
URL: http://svn.freebsd.org/changeset/base/205150

Log:
  MFC r204410: Include terminated threads in ps's process cpu time field.
  
  When a kinfo_proc is filled, first fill_kinfo_proc_only() fills in
  ki_runtime using p->p_rux.rux_runtime (all cpu time used by the process
  including terminated threads). If information for a specific thread is
  requested, fill_kinfo_thread() then overwrites this with the thread's
  td->td_runtime (good). If not, fill_kinfo_aggregate() overwrote it with
  the sum of all threads' td->td_runtime which does not include terminated
  threads.
  
  This affects ps(1)'s TIME field, not its %CPU field nor anything in
  top(1).

Modified:
  stable/8/sys/kern/kern_proc.c
Directory Properties:
  stable/8/sys/   (props changed)
  stable/8/sys/amd64/include/xen/   (props changed)
  stable/8/sys/cddl/contrib/opensolaris/   (props changed)
  stable/8/sys/contrib/dev/acpica/   (props changed)
  stable/8/sys/contrib/pf/   (props changed)
  stable/8/sys/dev/xen/xenpci/   (props changed)

Modified: stable/8/sys/kern/kern_proc.c
==============================================================================
--- stable/8/sys/kern/kern_proc.c	Sun Mar 14 13:05:48 2010	(r205149)
+++ stable/8/sys/kern/kern_proc.c	Sun Mar 14 13:07:40 2010	(r205150)
@@ -675,11 +675,9 @@ fill_kinfo_aggregate(struct proc *p, str
 
 	kp->ki_estcpu = 0;
 	kp->ki_pctcpu = 0;
-	kp->ki_runtime = 0;
 	FOREACH_THREAD_IN_PROC(p, td) {
 		thread_lock(td);
 		kp->ki_pctcpu += sched_pctcpu(td);
-		kp->ki_runtime += cputick2usec(td->td_runtime);
 		kp->ki_estcpu += td->td_estcpu;
 		thread_unlock(td);
 	}



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201003141307.o2ED7eID048268>