|
|
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.