Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id ; Fri, 28 Feb 2003 03:02:38 -0500 Received: (majordomo@vger.kernel.org) by vger.kernel.org id ; Fri, 28 Feb 2003 03:02:38 -0500 Received: from franka.aracnet.com ([216.99.193.44]:60313 "EHLO franka.aracnet.com") by vger.kernel.org with ESMTP id ; Fri, 28 Feb 2003 03:02:34 -0500 Date: Fri, 28 Feb 2003 00:12:42 -0800 From: "Martin J. Bligh" To: linux-kernel cc: cliffw@osdl.org, Andrew Morton , Steven Pratt , John Levon , Dave Hansen Subject: [PATCH] documentation for basic guide to profiling Message-ID: <8550000.1046419962@[10.10.2.4]> X-Mailer: Mulberry/2.2.1 (Linux/x86) MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit Content-Disposition: inline Sender: linux-kernel-owner@vger.kernel.org X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 2509 Lines: 60 I was trying to write some simple docs on how to do profiling for people to use for really basic stuff. I got it all wrong, but John's kindly corrected it ;-) Andrew asked me to do this as a patch for the documentation directory ... feedback would be much appreciated (yes, it's oversimplified - it's meant to be). diff -urpN -X /home/fletch/.diff.exclude virgin/Documentation/basic_profiling.txt oprofile_doc/Documentation/basic_profiling.txt --- virgin/Documentation/basic_profiling.txt Wed Dec 31 16:00:00 1969 +++ oprofile_doc/Documentation/basic_profiling.txt Fri Feb 28 00:05:59 2003 @@ -0,0 +1,44 @@ +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 and Dave Hansen for help writing this. + + 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 +----------- +get readprofile binary fixed for 2.5 / akpm's 2.5 patch from +ftp://ftp.kernel.org/pub/linux/people/mbligh/tools/readprofile/ +add "profile=2" to the kernel command line. + +clear echo 2 > /proc/profile + +dump output readprofile -m /boot/System.map > catured_profile + +Oprofile +-------- +get source (I use 0.5) from http://oprofile.sourceforge.net/ +add "poll=idle" 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 +Athalon 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 + +stop opcontrol --stop +dump output oprofpp -dl -i /boot/vmlinux > output_file + - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/