diff options
author | Navya <navyax.bathula@intel.com> | 2017-09-12 16:53:55 +0530 |
---|---|---|
committer | Kalyan reddy Gundarapu <reddyx.gundarapu@intel.com> | 2017-09-26 17:19:47 +0000 |
commit | 48556677aa8e5ada7b68c1be58cac648873088b1 (patch) | |
tree | f5603cbae1df6c1820c6aedd1ec6bf90ac162161 /docs/release/userguide/Ftrace.debugging.tool.userguide.rst | |
parent | d651cc71797f8f32b0fe40ca4ee1c21d50558fd1 (diff) |
To update the documentation for E-release
This patch is used for updating the documentation to include the
features implemented as part of KVMFORNFV E-release.
Change-Id: I3de63ffbd0761445ec57291c966792ef2932fd72
Co-Authored by:RajithaY<rajithax.yerrumsetty@intel.com>
Co-Authored by:Gundarapu Kalyan Reddy <reddyx.gundarapu@intel.com>
Co-Authored by:Shravani Paladugula <shravanix.paladugula@intel.com>
Signed-off-by:Navya <navyax.bathula@intel.com>
(cherry picked from commit a3923b36b50dbd842ed1151eb5734ba17348b669)
Diffstat (limited to 'docs/release/userguide/Ftrace.debugging.tool.userguide.rst')
-rw-r--r-- | docs/release/userguide/Ftrace.debugging.tool.userguide.rst | 68 |
1 files changed, 58 insertions, 10 deletions
diff --git a/docs/release/userguide/Ftrace.debugging.tool.userguide.rst b/docs/release/userguide/Ftrace.debugging.tool.userguide.rst index 95b7f8fe5..bd4d76d73 100644 --- a/docs/release/userguide/Ftrace.debugging.tool.userguide.rst +++ b/docs/release/userguide/Ftrace.debugging.tool.userguide.rst @@ -35,6 +35,10 @@ Version Features | Danube | 4.4-linux-kernel level issues | | | - Option to disable if not required | +-----------------------------+-----------------------------------------------+ +| | - Breaktrace option is implemented. | +| Euphrates | - Implemented post-execute script option to | +| | disable the ftrace when it is enabled. | ++-----------------------------+-----------------------------------------------+ Implementation of Ftrace @@ -56,7 +60,8 @@ Or you can mount it at run time with: mount -t debugfs nodev /sys/kernel/debug -Some configurations for Ftrace are used for other purposes, like finding latency or analyzing the system. For the purpose of debugging, the kernel configuration parameters that should be enabled are: +Some configurations for Ftrace are used for other purposes, like finding latency or analyzing the +system. For the purpose of debugging, the kernel configuration parameters that should be enabled are: .. code:: bash @@ -65,7 +70,8 @@ Some configurations for Ftrace are used for other purposes, like finding latency CONFIG_STACK_TRACER=y CONFIG_DYNAMIC_FTRACE=y -The above parameters must be enabled in /boot/config-4.4.0-el7.x86_64 i.e., kernel config file for ftrace to work. If not enabled, change the parameter to ``y`` and run., +The above parameters must be enabled in /boot/config-4.4.0-el7.x86_64 i.e., kernel config file for +ftrace to work. If not enabled, change the parameter to ``y`` and run., .. code:: bash @@ -85,11 +91,13 @@ The below is a list of few major files in Ftrace. ``available_tracers:`` - This holds the different types of tracers that have been compiled into the kernel. The tracers listed here can be configured by echoing their name into current_tracer. + This holds the different types of tracers that have been compiled into the kernel. + The tracers listed here can be configured by echoing their name into current_tracer. ``tracing_on:`` - This sets or displays whether writing to the tracering buffer is enabled. Echo 0 into this file to disable the tracer or 1 to enable it. + This sets or displays whether writing to the tracering buffer is enabled. Echo 0 into this + file to disable the tracer or 1 to enable it. ``trace:`` @@ -97,11 +105,13 @@ The below is a list of few major files in Ftrace. ``tracing_cpumask:`` - This is a mask that lets the user only trace on specified CPUs. The format is a hex string representing the CPUs. + This is a mask that lets the user only trace on specified CPUs. The format is a hex string + representing the CPUs. ``events:`` - It holds event tracepoints (also known as static tracepoints) that have been compiled into the kernel. It shows what event tracepoints exist and how they are grouped by system. + It holds event tracepoints (also known as static tracepoints) that have been compiled into + the kernel. It shows what event tracepoints exist and how they are grouped by system. Avaliable Tracers @@ -125,11 +135,13 @@ Brief about a few: ``function_graph:`` - Similar to the function tracer except that the function tracer probes the functions on their entry whereas the function graph tracer traces on both entry and exit of the functions. + Similar to the function tracer except that the function tracer probes the functions on their + entry whereas the function graph tracer traces on both entry and exit of the functions. ``nop:`` - This is the "trace nothing" tracer. To remove tracers from tracing simply echo "nop" into current_tracer. + This is the "trace nothing" tracer. To remove tracers from tracing simply echo "nop" into + current_tracer. Examples: @@ -221,7 +233,8 @@ The set_event file contains all the enabled events list sudo bash -c "echo function > $TRACEDIR/current_tracer -- When tracing is turned ON by setting ``tracing_on=1``, the ``trace`` file keeps getting append with the traced data until ``tracing_on=0`` and then ftrace_buffer gets cleared. +- When tracing is turned ON by setting ``tracing_on=1``, the ``trace`` file keeps getting append +with the traced data until ``tracing_on=0`` and then ftrace_buffer gets cleared. .. code:: bash @@ -231,7 +244,42 @@ The set_event file contains all the enabled events list To Start/Restart, echo 1 >tracing_on; -- Once tracing is diabled, disable_trace.sh script is triggered. +- Once tracing is disabled, disable_trace.sh script is triggered. + +BREAKTRACE +---------- +- Send break trace command when latency > USEC. This is a debugging option to control the latency +tracer in the realtime preemption patch. It is useful to track down unexpected large latencies on a +system. This option does only work with following kernel config options. + +For kernel < 2.6.24: +* CONFIG_PREEMPT_RT=y +* CONFIG_WAKEUP_TIMING=y +* CONFIG_LATENCY_TRACE=y +* CONFIG_CRITICAL_PREEMPT_TIMING=y +* CONFIG_CRITICAL_IRQSOFF_TIMING=y + +For kernel >= 2.6.24: +* CONFIG_PREEMPT_RT=y +* CONFIG_FTRACE +* CONFIG_IRQSOFF_TRACER=y +* CONFIG_PREEMPT_TRACER=y +* CONFIG_SCHED_TRACER=y +* CONFIG_WAKEUP_LATENCY_HIST + +- Kernel configuration options enabled. The USEC parameter to the -b option defines a maximum +latency value, which is compared against the actual latencies of the test. Once the measured latency +is higher than the given maximum, the kernel tracer and cyclictest is stopped. The trace can be read +from /proc/latency_trace. Please be aware that the tracer adds significant overhead to the kernel, +so the latencies will be much higher than on a kernel with latency tracing disabled. + +- Breaktrace option will enable the trace by default, suppress the tracing by using --notrace option. + +Post-execute scripts +-------------------- +post-execute script to yardstick node context teardown is added to disable the ftrace soon after the +completion of cyclictest execution throughyardstick. This option is implemented to collect only +required ftrace logs for effective debugging if needed. Details of disable_trace Script ------------------------------- |