Commit 3bdb5971 authored by Mauro Carvalho Chehab's avatar Mauro Carvalho Chehab

Documentation/basic_profiling.rst: convert to ReST markup

Convert it to ReST markup and add it to the user book:

- Add a title to the document;
- touch spaces/new lines to fix Sphinx format;
- use ``foo`` for commands;
- use quote blocks where needed;
- add it to the user book;
Signed-off-by: default avatarMauro Carvalho Chehab <mchehab@s-opensource.com>
parent d078a815
Basic kernel profiling
======================
These instructions are deliberately very basic. If you want something clever, 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 go read the real docs ;-)
Please don't add more stuff, but feel free to
correct my mistakes ;-) (mbligh@aracnet.com) correct my mistakes ;-) (mbligh@aracnet.com)
Thanks to John Levon, Dave Hansen, et al. for help writing this. Thanks to John Levon, Dave Hansen, et al. for help writing this.
<test> is the thing you're trying to measure. ``<test>`` is the thing you're trying to measure.
Make sure you have the correct System.map / vmlinux referenced! Make sure you have the correct ``System.map`` / ``vmlinux`` referenced!
It is probably easiest to use "make install" for linux and hack It is probably easiest to use ``make install`` for linux and hack
/sbin/installkernel to copy vmlinux to /boot, in addition to vmlinuz, ``/sbin/installkernel`` to copy ``vmlinux`` to ``/boot``, in addition to
config, System.map, which are usually installed by default. ``vmlinuz``, ``config``, ``System.map``, which are usually installed by default.
Readprofile Readprofile
----------- -----------
A recent readprofile command is needed for 2.6, such as found in util-linux
A recent ``readprofile`` command is needed for 2.6, such as found in util-linux
2.12a, which can be downloaded from: 2.12a, which can be downloaded from:
http://www.kernel.org/pub/linux/utils/util-linux/ http://www.kernel.org/pub/linux/utils/util-linux/
Most distributions will ship it already. Most distributions will ship it already.
Add "profile=2" to the kernel command line. Add ``profile=2`` to the kernel command line.
Some ``readprofile`` commands::
clear readprofile -r clear readprofile -r
<test> <test>
dump output readprofile -m /boot/System.map > captured_profile dump output readprofile -m /boot/System.map > captured_profile
Oprofile Oprofile
-------- --------
Get the source (see Changes for required version) from Get the source (see Changes for required version) from
http://oprofile.sourceforge.net/ and add "idle=poll" to the kernel command http://oprofile.sourceforge.net/ and add ``idle=poll`` to the kernel command
line. line.
Configure with CONFIG_PROFILING=y and CONFIG_OPROFILE=y & reboot on new kernel Configure with ``CONFIG_PROFILING=y`` and ``CONFIG_OPROFILE=y`` & reboot on new kernel::
./configure --with-kernel-support ./configure --with-kernel-support
make install make install
For superior results, be sure to enable the local APIC. If opreport sees For superior results, be sure to enable the local APIC. If opreport sees
a 0Hz CPU, APIC was not on. Be aware that idle=poll may mean a performance a 0Hz CPU, APIC was not on. Be aware that idle=poll may mean a performance
penalty. penalty.
One time setup: One time setup::
opcontrol --setup --vmlinux=/boot/vmlinux opcontrol --setup --vmlinux=/boot/vmlinux
clear opcontrol --reset Some ``opcontrol`` commands::
start opcontrol --start
clear opcontrol --reset
start opcontrol --start
<test> <test>
stop opcontrol --stop stop opcontrol --stop
dump output opreport > output_file dump output opreport > output_file
To only report on the kernel, run opreport -l /boot/vmlinux > output_file To only report on the kernel, run ``opreport -l /boot/vmlinux > output_file``
A reset is needed to clear old statistics, which survive a reboot. A reset is needed to clear old statistics, which survive a reboot.
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment