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);
        }
_______________________________________________
svn-src-all@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/svn-src-all
To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"

Reply via email to