HP-UX Reference (11i v1 00/12) - 2 System Calls (vol 5)

__________________________________________________________________________________________________________________________________________________________________________________________________
__________________________________________________________________________________________________________________________________________________________________________________________________
STANDARD Printed by: Nora Chuang [nchuang] STANDARD
/build/1111/BRICK/man2/!!!intro.2
________________________________________________________________
___ ___
p
profil(2) profil(2)
NAME
profil - execution time profile
SYNOPSIS
#include <time.h>
void profil(
unsigned short int *buff,
size_t bufsiz,
size_t offset,
unsigned int scale
);
DESCRIPTION
profil() controls profiling, by which the system maintains estimates of the amount of time the calling
program spends executing at various places in its address space.
The buff argument must point to an area of memory whose length (in bytes) is given by bufsiz. When
profiling is on, the processs program counter (pc) is examined each clock tick (
CLK_TCK times per second),
offset is subtracted from the pc value, and the result is multiplied by scale. If the resulting number
corresponds to an element inside the array of
unsigned short ints to which buff points, that ele-
ment is incremented.
The number of samples per second for a given implementation is given by
CLK_TCK, which is defined in
<
time.h>.
The scale is interpreted as an unsigned, sixteen bit, fixed-point fraction with binary point at the left:
0177777 (octal) gives a one-to-one mapping of pc’s to words in buff; 077777(octal) maps each pair of instruc-
tion words together. 02(octal) 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 one of the
exec() functions 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
No value is returned.
SEE ALSO
prof(1), monitor(3C).
STANDARDS CONFORMANCE
profil(): SVID2, SVID3, XPG2
HP-UX Release 11i: December 2000 1 Section 2217
___
___