[BACK]Return to basic_profiling.txt CVS log [TXT][DIR] Up to [Development] / linux-2.6-xfs-all / Documentation

File: [Development] / linux-2.6-xfs-all / Documentation / basic_profiling.txt (download)

Revision 1.1, Tue Dec 30 23:58:53 2003 UTC (13 years, 9 months ago) by cattelan
Branch: MAIN

Initial Import 2.6.0

These instructions are deliberately very basic. If you want something clever,
go read the real docs ;-) Please don't add more stuff, but feel free to 
correct my mistakes ;-)    (mbligh@aracnet.com)
Thanks to John Levon, Dave Hansen, et al. for help writing this.

<test> is the thing you're trying to measure.
Make sure you have the correct System.map / vmlinux referenced!
IMHO it's easier to use "make install" for linux and hack /sbin/installkernel
to copy config files, system.map, vmlinux to /boot.

Readprofile
-----------
You need a fixed readprofile command for 2.5 ... either get hold of
a current version from:
http://www.kernel.org/pub/linux/utils/util-linux/
or get readprofile binary fixed for 2.5 / akpm's 2.5 patch from 
ftp://ftp.kernel.org/pub/linux/kernel/people/mbligh/tools/readprofile/

Add "profile=2" to the kernel command line.

clear		readprofile -r
		<test>
dump output	readprofile -m /boot/System.map > captured_profile

Oprofile
--------
get source (I use 0.5) from http://oprofile.sourceforge.net/
add "idle=poll" to the kernel command line 
Configure with CONFIG_PROFILING=y and CONFIG_OPROFILE=y & reboot on new kernel
./configure --with-kernel-support
make install

One time setup (pick appropriate one for your CPU):
P3		opcontrol --setup --vmlinux=/boot/vmlinux \
		--ctr0-event=CPU_CLK_UNHALTED --ctr0-count=100000
Athlon/x86-64	opcontrol --setup --vmlinux=/boot/vmlinux \
		--ctr0-event=RETIRED_INSNS --ctr0-count=100000
P4		opcontrol --setup --vmlinux=/boot/vmlinux \
		--ctr0-event=GLOBAL_POWER_EVENTS \
		--ctr0-unit-mask=1 --ctr0-count=100000

start daemon	opcontrol --start-daemon
clear		opcontrol --reset
start		opcontrol --start
		<test>
stop		opcontrol --stop
dump output	oprofpp -dl -i /boot/vmlinux  >  output_file