|
|
1.1 root 1: .TH PROFIL 2
2: .CT 2 debug_tune
3: .SH NAME
4: profil \(mi execution time profile
5: .SH SYNOPSIS
6: .nf
7: .B void profil(buff, bufsiz, offset, scale)
8: .B unsigned short *buff;
9: .B int bufsiz, offset;
10: .B unsigned scale;
11: .fi
12: .SH DESCRIPTION
13: .I Buff
14: points to an area of core whose length in bytes is given by
15: .IR bufsiz .
16: After this call, the user's program counter
17: is examined each clock tick;
18: .I offset
19: is subtracted from it, and the result multiplied by
20: .IR scale ,
21: divided by 65536
22: and then rounded up to a multiple of two.
23: If the resulting number (\f2n\fP) is less than
24: .IR bufsiz ,
25: then
26: .B buff[n/2]
27: is incremented.
28: .PP
29: Profiling is turned off by giving a
30: .I scale
31: of 0.
32: It is rendered
33: ineffective by giving a
34: .I bufsiz
35: of 0.
36: Profiling is turned off when an
37: .I exec
38: is executed, but remains on in child and parent both
39: after a
40: .IR fork .
41: Profiling is turned off if an update in
42: .I buff
43: would cause a memory fault.
44: .SH "SEE ALSO"
45: .IR prof (1),
46: .IR monitor (3)
47: .SH BUGS
48: Because of the rounding up,
49: single byte instructions
50: cannot be exactly profiled.
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.