|
|
1.1 root 1: .TH PROFIL 2 "12 February 1983"
2: .UC 4
3: .SH NAME
4: profil \- execution time profile
5: .SH SYNOPSIS
6: .nf
7: .B profil(buff, bufsiz, offset, scale)
8: .B char *buff;
9: .B int bufsiz, offset, scale;
10: .fi
11: .SH DESCRIPTION
12: .I Buff
13: points to an area of core whose length (in bytes) is given by
14: .IR bufsiz .
15: After this call, the user's program counter (pc)
16: is examined each clock tick (10 milliseconds);
17: .I offset
18: is subtracted from it, and the result multiplied by
19: .IR scale .
20: If the resulting number corresponds to a word
21: inside
22: .I buff,
23: that word is incremented.
24: .PP
25: The scale is interpreted as an unsigned,
26: fixed-point fraction with binary point at the
27: left: 0x10000 gives a 1-1 mapping of pc's to words
28: in
29: .I buff;
30: 0x8000 maps each pair of instruction words
31: together.
32: 0x2 maps all instructions onto the beginning of
33: .I buff
34: (producing a non-interrupting core clock).
35: .PP
36: Profiling is turned off by giving a
37: .I scale
38: of 0 or 1.
39: It is rendered
40: ineffective by giving a
41: .I bufsiz
42: of 0.
43: Profiling is turned off when an
44: .I execve
45: is executed, but remains on in child and parent both
46: after a
47: .IR fork .
48: Profiling is turned off if an update in
49: .I buff
50: would cause a memory fault.
51: .SH "RETURN VALUE
52: A 0, indicating success, is always returned.
53: .SH "SEE ALSO"
54: gprof(1), setitimer(2), monitor(3)
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.