From bd106be4045d0fe1e88d4361c54e9d9a7bc4b7bb Mon Sep 17 00:00:00 2001 From: John Baldwin Date: Tue, 21 Feb 2006 21:48:42 +0000 Subject: [PATCH] Move the ruadd() in kern_exit() to save our final stats in our child stats even further down in exit1() so that it includes the runtime and tick counts from the final time slice for the dying thread. Reviewed by: phk --- sys/kern/kern_exit.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/sys/kern/kern_exit.c b/sys/kern/kern_exit.c index ec9a5297d07..5785e0b9777 100644 --- a/sys/kern/kern_exit.c +++ b/sys/kern/kern_exit.c @@ -540,8 +540,6 @@ retry: p->p_state = PRS_ZOMBIE; PROC_UNLOCK(p->p_pptr); - ruadd(p->p_ru, &p->p_rux, &p->p_stats->p_cru, &p->p_crux); - /* Do the same timestamp bookkeeping that mi_switch() would do. */ new_switchtime = cpu_ticks(); p->p_rux.rux_runtime += (new_switchtime - PCPU_GET(switchtime)); @@ -552,6 +550,9 @@ retry: PCPU_SET(switchticks, ticks); cnt.v_swtch++; + /* Add our usage into the usage of all our children. */ + ruadd(p->p_ru, &p->p_rux, &p->p_stats->p_cru, &p->p_crux); + sched_exit(p->p_pptr, td); /*