4.3BSD-UWisc/src/sys/sys/vm_mon.c
/*
* 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