PROFIL(2) System Calls Manual PROFIL(2)
profil - execution time profile
profil(buff, bufsiz, offset, scale)
int bufsiz, offset, scale;
Buff points to an area of core whose length (in bytes) is given by buf-
siz. After this call, the user's program counter (pc) is examined each
clock tick (60th second); 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
binary point at the left: 0177777(8) gives a 1-1 mapping of pc's to
words in buff; 077777(8) maps each pair of instruction words together.
02(8) maps all instructions onto the beginning of buff (producing a
non-interrupting core clock).
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
exec is executed, but remains on in child and parent both after a fork.
Profiling may be turned off if an update in buff would cause a memory
(profil = 44.)
sys profil; buff; bufsiz; offset; scale