Commit | Line | Data |
---|---|---|
9963d26a C |
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) |