- Use ruxagg() in calcru() to make sure we have current tick information

from all threads.

Discussed with:	bde, attilio
Approved by:	re
This commit is contained in:
Jeff Roberson
2007-07-17 01:08:09 +00:00
parent f48aad41dd
commit fb62eea266
+8
View File
@@ -840,6 +840,14 @@ calcru(struct proc *p, struct timeval *up, struct timeval *sp)
p->p_rux.rux_runtime += u - PCPU_GET(switchtime);
PCPU_SET(switchtime, u);
}
/* Make sure the per-thread stats are current. */
FOREACH_THREAD_IN_PROC(p, td) {
if (td->td_runtime == 0)
continue;
thread_lock(td);
ruxagg(&p->p_rux, td);
thread_unlock(td);
}
calcru1(p, &p->p_rux, up, sp);
}