KPROF(3) Library Functions Manual KPROF(3)NAME
kprof - kernel profiling
SYNOPSIS
bind -a #T /dev
/dev/kpctl
/dev/kpdata
DESCRIPTION
The kprof device provides simple profiling data for the operating system kernel. The data accumulates by recording the program counter of
the kernel at each `tick' of the system clock.
The file kpdata holds the accumulated counts as 4-byte integers in big-endian byte order. The size of the file depends on the size of ker-
nel text. The first count holds the total number of clock ticks during profiling; the second the number of ticks that occurred while the
kernel was running. The rest each hold the number of ticks the kernel program counter was within the corresponding 8-byte range of kernel
text, starting from the base of kernel text.
The file kpctl controls profiling. Writing the string start to kpctl begins profiling; stop terminates it. The message startclr restarts
profiling after zeroing the array of counts.
The program kprof (see prof(1)) formats the data for presentation.
EXAMPLE
The following rc(1) script runs a test program while profiling the kernel and reports the results.
bind -a '#T' /dev
echo start > /dev/kpctl
runtest
echo stop > /dev/kpctl
kprof /mips/9power /dev/kpdata
SOURCE
/sys/src/9/port/devkprof.c
SEE ALSO prof(1)KPROF(3)
Check Out this Related Man Page
PROFIL(2) BSD System Calls Manual PROFIL(2)NAME
profil -- control process profiling
LIBRARY
Standard C Library (libc, -lc)
SYNOPSIS
#include <unistd.h>
int
profil(char *samples, size_t size, vm_offset_t offset, int scale);
DESCRIPTION
The profil() system call enables or disables program counter profiling of the current process. If profiling is enabled, then at every pro-
filing clock tick, the kernel updates an appropriate count in the samples buffer. The frequency of the profiling clock is recorded in the
header in the profiling output file.
The buffer samples contains size bytes and is divided into a series of 16-bit bins. Each bin counts the number of times the program counter
was in a particular address range in the process when a profiling clock tick occurred while profiling was enabled. For a given program
counter address, the number of the corresponding bin is given by the relation:
[(pc - offset) / 2] * scale / 65536
The offset argument is the lowest address at which the kernel takes program counter samples. The scale argument ranges from 1 to 65536 and
can be used to change the span of the bins. A scale of 65536 maps each bin to 2 bytes of address range; a scale of 32768 gives 4 bytes,
16384 gives 8 bytes and so on. Intermediate values provide approximate intermediate ranges. A scale value of 0 disables profiling.
RETURN VALUES
The profil() function returns the value 0 if successful; otherwise the value -1 is returned and the global variable errno is set to indicate
the error.
FILES
/usr/lib/gcrt0.o profiling C run-time startup file
gmon.out conventional name for profiling output file
ERRORS
The following error may be reported:
[EFAULT] The buffer samples contains an invalid address.
SEE ALSO gprof(1)HISTORY
The profil() function appeared in Version 7 AT&T UNIX.
BUGS
This routine should be named profile().
The samples argument should really be a vector of type unsigned short.
The format of the gmon.out file is undocumented.
BSD June 4, 1993 BSD
Hello,
In my shell program, I need to test for a specific size of a text file before it can be imported into an oracle table.
If the size is less than that number, my program should stop processing. What is the correct command to do this test?
Thanks! (1 Reply)
Hello all,
How can I set TAB as the delimiter inside a script file that will manipulate another file? For example, let's say I have a file with four fields separated by tabs and each field has four items. Can I set TAB as a delimiter inside a script file or can I only do that at the shell?
... (12 Replies)
I compiled my device driver with the profiling option -p but while linking I am getting undefined reference to _mcount.
LD /vobs/femto_drivers/DspBiosLink/dsplinkk/src/dsplinkk.o
Building modules, stage 2.
MODPOST
*** Warning: "_mcount" undefined!
Architechture: ppc32
From... (0 Replies)