lkml.org 
[lkml]   [2003]   [Mar]   [5]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    Date
    From
    Subject[PATCH] 5/6 Provide basic documentation for profiling
    People keep asking for this info, and Andrew asked me to put it under the
    Documentation directory ... provides really simple instructions for taking
    a profile so that users can report performance changes in a useful way.

    diff -urpN -X /home/fletch/.diff.exclude 015-numaq_zholes_warning/Documentation/basic_profiling.txt 020-prof_docs/Documentation/basic_profiling.txt
    --- 015-numaq_zholes_warning/Documentation/basic_profiling.txt Wed Dec 31 16:00:00 1969
    +++ 020-prof_docs/Documentation/basic_profiling.txt Wed Mar 5 07:48:44 2003
    @@ -0,0 +1,48 @@
    +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
    +
    -
    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/

    \
     
     \ /
      Last update: 2005-03-22 13:33    [W:0.026 / U:0.244 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site