File:  [Power 6/32 Unix Tahoe 4.2BSD] / cci / usr / src / man / man2 / profil.2
Revision 1.1.1.1 (vendor branch): download - view: text, annotated - select for diffs
Sun Jul 28 12:24:19 2019 UTC (6 years, 11 months ago) by root
Branches: bsd, MAIN
CVS tags: v12b, v121, HEAD
Power 6/32 Unix version 1.2b

.TH PROFIL 2 "12 February 1983"
.UC 4
.SH NAME
profil \- execution time profile
.SH SYNOPSIS
.nf
.B profil(buff, bufsiz, offset, scale)
.B char *buff;
.B int bufsiz, offset, scale;
.fi
.SH DESCRIPTION
.I Buff
points to an area of core whose length (in bytes) is given by
.IR bufsiz .
After this call, the user's program counter (pc)
is examined each clock tick (10 milliseconds);
.I offset
is subtracted from it, and the result multiplied by
.IR scale .
If the resulting number corresponds to a word
inside
.I buff,
that word is incremented.
.PP
The scale is interpreted as an unsigned,
fixed-point fraction with binary point at the
left: 0x10000 gives a 1-1 mapping of pc's to words
in
.I buff;
0x8000 maps each pair of instruction words
together.
0x2 maps all instructions onto the beginning of
.I buff
(producing a non-interrupting core clock).
.PP
Profiling is turned off by giving a
.I scale
of 0 or 1.
It is rendered
ineffective by giving a
.I bufsiz
of 0.
Profiling is turned off when an
.I execve
is executed, but remains on in child and parent both
after a
.IR fork .
Profiling is turned off if an update in
.I buff
would cause a memory fault.
.SH "RETURN VALUE
A 0, indicating success, is always returned.
.SH "SEE ALSO"
gprof(1), setitimer(2), monitor(3)

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.