svn commit: r205150 - stable/8/sys/kern

Jilles Tjoelker jilles at FreeBSD.org
Sun Mar 14 13:07:41 UTC 2010


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);
 	}


More information about the svn-src-all mailing list