/* * Copyright (c) 1982, 1986 Regents of the University of California. * All rights reserved. The Berkeley software License Agreement * specifies the terms and conditions for redistribution. * * @(#)vm_mon.c 7.1 (Berkeley) 6/5/86 */ #ifndef lint static char rcs_id[] = {"$Header: vm_mon.c,v 3.1 86/10/22 13:47:58 tadl Exp $"}; #endif not lint /* * RCS Info * $Locker: $ */ #include "param.h" #include "systm.h" #include "user.h" #include "vmmeter.h" #include "trace.h" #include "kernel.h" #ifdef PGINPROF int pmonmin = PMONMIN; int pres = PRES; int rmonmin = RMONMIN; int rres = RRES; vmsizmon() { register int i; i = (u.u_dsize / DRES) < NDMON ? (u.u_dsize / DRES):NDMON; dmon[i] += u.u_ru.ru_utime.tv_sec - u.u_outime; i = (u.u_ssize / SRES) < NSMON ? (u.u_ssize / SRES):NSMON; smon[i] += u.u_ru.ru_utime.tv_sec - u.u_outime; u.u_outime = u.u_ru.ru_utime.tv_sec; } vmfltmon(hist, atime, amin, res, nmax) register unsigned int *hist; register int atime, amin, res, nmax; { register int i; i = (atime - amin) / res; if (i>=0 && i<nmax) hist[i+1]++; else i<0 ? hist[0]++ : hist[nmax+1]++; } #endif #ifdef TRACE /*VARARGS*/ trace1(args) int args; { register int nargs; register int x; register int *argp, *tracep; nargs = 4; x = tracex % TRCSIZ; if (x + nargs >= TRCSIZ) { tracex += (TRCSIZ - x); x = 0; } argp = &args; tracep = &tracebuf[x]; tracex += nargs; *tracep++ = (time.tv_sec%1000)*1000 + (time.tv_usec/1000); nargs--; do *tracep++ = *argp++; while (--nargs > 0); } #endif