summaryrefslogtreecommitdiff
path: root/sys/kern/kern_racct.c
diff options
context:
space:
mode:
Diffstat (limited to 'sys/kern/kern_racct.c')
-rw-r--r--sys/kern/kern_racct.c10
1 files changed, 2 insertions, 8 deletions
diff --git a/sys/kern/kern_racct.c b/sys/kern/kern_racct.c
index a25d7fa8da522..fb962a411d318 100644
--- a/sys/kern/kern_racct.c
+++ b/sys/kern/kern_racct.c
@@ -1256,17 +1256,11 @@ racctd(void)
sx_slock(&allproc_lock);
- sx_slock(&zombproc_lock);
- LIST_FOREACH(p, &zombproc, p_list) {
- PROC_LOCK(p);
- racct_set(p, RACCT_PCTCPU, 0);
- PROC_UNLOCK(p);
- }
- sx_sunlock(&zombproc_lock);
-
FOREACH_PROC_IN_SYSTEM(p) {
PROC_LOCK(p);
if (p->p_state != PRS_NORMAL) {
+ if (p->p_state == PRS_ZOMBIE)
+ racct_set(p, RACCT_PCTCPU, 0);
PROC_UNLOCK(p);
continue;
}