NAME
profil - execution time profile
SYNOPSIS
profil(buff, bufsiz, offset, scale)
char *buff;
int bufsiz, offset, scale;
DESCRIPTION
Buff points to an area of core whose length (in bytes) is
given by
bufsiz. After this call, the user’s program counter
(pc) is
examined each clock tick (10 milliseconds); offset is
subtracted
from it, and the result multiplied by scale. If the
resulting
number corresponds to a word inside buff, that word is
incremented.
The scale is interpreted as an
unsigned, fixed-point fraction with
16 bits of fraction: 0x10000 gives a 1-1 mapping of
pc’s to words
in buff; 0x8000 maps each pair of instruction words
together.
Profiling is turned off by
giving a scale of 0 or 1. It is
rendered ineffective by giving a bufsiz of 0. Profiling is
turned
off when an execve is executed, but remains on in child and
parent
both after a fork. Profiling is turned off if an update in
buff
would cause a memory fault.
RETURN VALUE
A 0, indicating success, is always returned.
SEE ALSO
gprof(1), setitimer(2), monitor(3)