Linux and UNIX Man Pages

Linux & Unix Commands - Search Man Pages

kprof(3) [plan9 man page]

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
Man Page

4 More Discussions You Might Find Interesting

1. UNIX for Dummies Questions & Answers

How to test for a specific file size

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)
Discussion started by: GEBRAUN
1 Replies

2. Shell Programming and Scripting

Setting the delimiter

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)
Discussion started by: Trellot
12 Replies

3. UNIX for Advanced & Expert Users

Kernel Profiling

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)
Discussion started by: Ashok V
0 Replies

4. AIX

C profiling tool for AIX

Hello everybody, Please let me know if there are any free C profiling tool for AIX environment Thanks in advance (0 Replies)
Discussion started by: SteAlma
0 Replies