From b32557dbb8813ae261f652a6964c45bf750a1b71 Mon Sep 17 00:00:00 2001 From: jhb Date: Tue, 12 Sep 2000 18:57:59 +0000 Subject: Clean up process accounting some more. Unfortunately, it is still not quite right on i386 as the CPU who runs statclock() doesn't have a valid clockframe to calculate statistics with. --- sys/amd64/include/mptable.h | 32 ++++++++++++++------------------ 1 file changed, 14 insertions(+), 18 deletions(-) (limited to 'sys/amd64/include') diff --git a/sys/amd64/include/mptable.h b/sys/amd64/include/mptable.h index eceaa81..5056ed1 100644 --- a/sys/amd64/include/mptable.h +++ b/sys/amd64/include/mptable.h @@ -2507,13 +2507,11 @@ forwarded_statclock(int id, int pscnt, int *astmap) if (pscnt > 1) return; - if (p == SMP_prvspace[id].globaldata.gd_idleproc) { - p->p_sticks++; + p->p_sticks++; + if (p == SMP_prvspace[id].globaldata.gd_idleproc) cp_time[CP_IDLE]++; - } else { - p->p_sticks++; + else cp_time[CP_SYS]++; - } break; case CHECKSTATE_INTR: default: @@ -2536,20 +2534,18 @@ forwarded_statclock(int id, int pscnt, int *astmap) p->p_iticks++; cp_time[CP_INTR]++; } - if (p != SMP_prvspace[id].globaldata.gd_idleproc) { - schedclock(p); + schedclock(p); - /* Update resource usage integrals and maximums. */ - if ((pstats = p->p_stats) != NULL && - (ru = &pstats->p_ru) != NULL && - (vm = p->p_vmspace) != NULL) { - ru->ru_ixrss += pgtok(vm->vm_tsize); - ru->ru_idrss += pgtok(vm->vm_dsize); - ru->ru_isrss += pgtok(vm->vm_ssize); - rss = pgtok(vmspace_resident_count(vm)); - if (ru->ru_maxrss < rss) - ru->ru_maxrss = rss; - } + /* Update resource usage integrals and maximums. */ + if ((pstats = p->p_stats) != NULL && + (ru = &pstats->p_ru) != NULL && + (vm = p->p_vmspace) != NULL) { + ru->ru_ixrss += pgtok(vm->vm_tsize); + ru->ru_idrss += pgtok(vm->vm_dsize); + ru->ru_isrss += pgtok(vm->vm_ssize); + rss = pgtok(vmspace_resident_count(vm)); + if (ru->ru_maxrss < rss) + ru->ru_maxrss = rss; } } -- cgit v1.1