Bug 417229: Update OProfile documentation with operf functionality.
Change-Id: I1b3e92c615e3253db8b33e81236b45b574501e21
Reviewed-on: https://git.eclipse.org/r/16473
Tested-by: Hudson CI
Reviewed-by: Jeff Johnston <jjohnstn@redhat.com>
IP-Clean: Jeff Johnston <jjohnstn@redhat.com>
Tested-by: Jeff Johnston <jjohnstn@redhat.com>
diff --git a/oprofile/org.eclipse.linuxtools.oprofile.doc/Linux_Tools_Project/OProfile/User_Guide/Installation-and-Set-Up.html b/oprofile/org.eclipse.linuxtools.oprofile.doc/Linux_Tools_Project/OProfile/User_Guide/Installation-and-Set-Up.html
index 18060cd..36e7b9c 100644
--- a/oprofile/org.eclipse.linuxtools.oprofile.doc/Linux_Tools_Project/OProfile/User_Guide/Installation-and-Set-Up.html
+++ b/oprofile/org.eclipse.linuxtools.oprofile.doc/Linux_Tools_Project/OProfile/User_Guide/Installation-and-Set-Up.html
@@ -40,6 +40,9 @@
<img border="0" src="images/Screenshot-installscript_error_dialog.png"/>
</p>
<p>As the dialog suggests, you must run the supplied install script; this script will allow the OProfile plug-in to perform OProfile tasks as root (since OProfile cannot be run as an unprivileged user). The steps below are the same as the dialog but described in more detail.</p>
+ <p>To avoid having to perform the installation setup users can create a launch configuration for their project that uses 'operf' instead of 'opcontrol'. Simply navigate to either the Profiling/Profiling Tools launch configuration dialog and create an OProfile launch configuration. Select the OProfile
+ <a href="Profiling-Configuration.html#Global_Settings">Global Settings</a> tab, and select 'operf' from the 'Profile With' combo box. In future releases, 'operf' will become the default option.
+ </p>
<h2 id="Step_1_-_Locate_the_Installation_Scripts">Step 1 - Locate the Installation Scripts</h2>
<p>Open up a terminal and locate the
<i><code>natives/linux/scripts</code></i> subdirectory, which is found in the
diff --git a/oprofile/org.eclipse.linuxtools.oprofile.doc/Linux_Tools_Project/OProfile/User_Guide/Profiling-Configuration.html b/oprofile/org.eclipse.linuxtools.oprofile.doc/Linux_Tools_Project/OProfile/User_Guide/Profiling-Configuration.html
index 286920b..7e76692 100644
--- a/oprofile/org.eclipse.linuxtools.oprofile.doc/Linux_Tools_Project/OProfile/User_Guide/Profiling-Configuration.html
+++ b/oprofile/org.eclipse.linuxtools.oprofile.doc/Linux_Tools_Project/OProfile/User_Guide/Profiling-Configuration.html
@@ -31,7 +31,7 @@
</table><hr/>
<h1 id="Profiling_Configuration">Profiling Configuration</h1>
<p>OProfile has many configuration options, the amount of which can be overwhelming. For more information about these options, refer to
- <a href="http://oprofile.sourceforge.net/doc/controlling.html">http://oprofile.sourceforge.net/doc/controlling.html</a>. The
+ <a href="http://oprofile.sourceforge.net/doc/controlling-daemon.html">http://oprofile.sourceforge.net/doc/controlling-daemon.html</a>. The
<b>
<i>Profile Configurations</i>
</b> menu provided by the OProfile plug-in aims to make relevant, commonly-used OProfile configuration options easily accessible to users of all experience levels. Currently, the
@@ -41,16 +41,24 @@
<a href="Profiling-Configuration.html#Global_Settings">Global Settings</a> and
<a href="Profiling-Configuration.html#Event_Configuration">Event Configuration</a>.
</p>
+ <p>Since Linux Tools 2.1, the Oprofile plug-in supports opcontrol and operf as profiling tools. Both of them are explained as follows.</p>
+ <h2 id="Operf_vs_Opcontrol">Operf vs Opcontrol</h2>
+ <p>Legacy OProfile consists of the opcontrol shell script for configuring, starting, and stopping a profiling session. To this purpose, a kernel driver (usually built as a kernel module) is used for collecting samples, which are recorded into sample files. A disadvantage of this mode is the necessity of elevated user privileges to run opcontrol.</p>
+ <p>Operf was designed to be used in place of opcontrol for profiling. It uses the Linux Performance Events Subsystem, and therefore, does not require the use of the opcontrol daemon or any elevated privileges. The use of operf and opcontrol are mutually exclusive.</p>
<h2 id="Global_Settings">Global Settings</h2>
<p>The
<b>
<i>Global Settings</i>
- </b> tab configures how the OProfile daemon gathers profiling information. Each option is described below.
+ </b> tab configures which profiling binary is going to be used (operf or opcontrol) and how the OProfile daemon gathers profiling information. Each option is described below.
</p>
<p>
<img border="0" src="images/Oprofile_global_config.png"/>
</p>
<dl>
+ <dt>Profile with</dt>
+ <dd>user can select opcontrol or operf as profiling tools.</dd>
+ </dl>
+ <dl>
<dt>Kernel Image File (optional)</dt>
<dd>To collect more detailed information about the operation of a program in the Linux kernel, use the <u>Browse</u> button specify the location of your running kernel's
<i><code>vmlinux</code></i> file. A kernel's
@@ -65,12 +73,12 @@
</dl>
<dl>
<dt>Include dependent shared libraries</dt>
- <dd>This option will make OProfile include samples from shared libraries that are used by the profiled binary/program. These samples will then be aggregated in the profile results.</dd>
+ <dd>This option will make OProfile include samples from shared libraries that are used by the profiled binary/program. These samples will then be aggregated in the profile results. This is performed by default when using operf.</dd>
</dl>
<dl>
<dt>Include dependent kernel modules</dt>
<dd>This option will make OProfile include samples related to running in the kernel. If the
- <i><code>vmlinux</code></i> file is specified, the profile will include details of the specific kernel modules in use. Otherwise, kernel samples will be grouped under the name <code>no-vmlinux</code>.
+ <i><code>vmlinux</code></i> file is specified, the profile will include details of the specific kernel modules in use. Otherwise, kernel samples will be grouped under the name <code>no-vmlinux</code>. Operf by default separates kernel samples per application.
</dd>
</dl>
<p>The differences between the options are illustrated in the following OProfile view screenshot:</p>
diff --git a/oprofile/org.eclipse.linuxtools.oprofile.doc/Linux_Tools_Project/OProfile/User_Guide/User-Guide.html b/oprofile/org.eclipse.linuxtools.oprofile.doc/Linux_Tools_Project/OProfile/User_Guide/User-Guide.html
index f97c90c..15c3a81 100644
--- a/oprofile/org.eclipse.linuxtools.oprofile.doc/Linux_Tools_Project/OProfile/User_Guide/User-Guide.html
+++ b/oprofile/org.eclipse.linuxtools.oprofile.doc/Linux_Tools_Project/OProfile/User_Guide/User-Guide.html
@@ -35,7 +35,7 @@
</p>
<p>
<b>Note : The following steps in
- <a href="Installation-and-Set-Up.html#Installation_and_Set-Up">Installation and Set-Up</a> may not be necessary if installing the Eclipse OProfile plugin from a distribution specific package (eg. .deb, .rpm, etc.). These packages may perform the necessary setup on behalf of the user eliminating the need for steps 1-4. For example, on Fedora, the 'eclipse-oprofile' package automatically configures support for PolicyKit.
+ <a href="Installation-and-Set-Up.html#Installation_and_Set-Up">Installation and Set-Up</a> may not be necessary if installing the Eclipse OProfile plugin from a distribution specific package (eg. .deb, .rpm, etc.). These packages may perform the necessary setup on behalf of the user eliminating the need for steps 1-4. For example, on Fedora, the 'eclipse-oprofile' package automatically configures support for PolicyKit. These steps are also not necessary if using the operf binary for profiling instead of legacy opcontrol.
</b>
</p><hr/>
<table class="navigation" style="width: 100%;" border="0" summary="navigation">
diff --git a/oprofile/org.eclipse.linuxtools.oprofile.doc/Linux_Tools_Project/OProfile/User_Guide/images/Oprofile_global_config.png b/oprofile/org.eclipse.linuxtools.oprofile.doc/Linux_Tools_Project/OProfile/User_Guide/images/Oprofile_global_config.png
index 1438c20..99c460b 100644
--- a/oprofile/org.eclipse.linuxtools.oprofile.doc/Linux_Tools_Project/OProfile/User_Guide/images/Oprofile_global_config.png
+++ b/oprofile/org.eclipse.linuxtools.oprofile.doc/Linux_Tools_Project/OProfile/User_Guide/images/Oprofile_global_config.png
Binary files differ
diff --git a/oprofile/org.eclipse.linuxtools.oprofile.doc/Linux_Tools_Project/OProfile/User_Guide/images/Oprofile_tab.png b/oprofile/org.eclipse.linuxtools.oprofile.doc/Linux_Tools_Project/OProfile/User_Guide/images/Oprofile_tab.png
index 9d0be6e..d7a3634 100644
--- a/oprofile/org.eclipse.linuxtools.oprofile.doc/Linux_Tools_Project/OProfile/User_Guide/images/Oprofile_tab.png
+++ b/oprofile/org.eclipse.linuxtools.oprofile.doc/Linux_Tools_Project/OProfile/User_Guide/images/Oprofile_tab.png
Binary files differ
diff --git a/oprofile/org.eclipse.linuxtools.oprofile.doc/toc.xml b/oprofile/org.eclipse.linuxtools.oprofile.doc/toc.xml
index 647a76f..9a3793c 100644
--- a/oprofile/org.eclipse.linuxtools.oprofile.doc/toc.xml
+++ b/oprofile/org.eclipse.linuxtools.oprofile.doc/toc.xml
@@ -14,6 +14,7 @@
<topic href="Linux_Tools_Project/OProfile/User_Guide/Launching-A-Profile.html#Manual_Profile" label="Manual Profile"></topic>
</topic>
<topic href="Linux_Tools_Project/OProfile/User_Guide/Profiling-Configuration.html" label="Profiling Configuration">
+ <topic href="Linux_Tools_Project/OProfile/User_Guide/Profiling-Configuration.html#Operf_vs_Opcontrol" label="Operf vs Opcontrol"></topic>
<topic href="Linux_Tools_Project/OProfile/User_Guide/Profiling-Configuration.html#Global_Settings" label="Global Settings"></topic>
<topic href="Linux_Tools_Project/OProfile/User_Guide/Profiling-Configuration.html#Event_Configuration" label="Event Configuration">
<topic href="Linux_Tools_Project/OProfile/User_Guide/Profiling-Configuration.html#Timer_Interrupt_Mode" label="Timer Interrupt Mode"></topic>