Re: [PATCH 2/2] perf tools: Add documentation for 'perf irq' command

From: Alexei Budankov
Date: Tue Jan 12 2021 - 14:52:59 EST



Hi,

On 12.01.2021 15:55, Bixuan Cui wrote:
> Add documentation for 'perf irq' command.
>
> Signed-off-by: Bixuan Cui <cuibixuan@xxxxxxxxxx>
> ---
> tools/perf/Documentation/perf-irq.txt | 58 +++++++++++++++++++++++++++
> tools/perf/command-list.txt | 1 +
> 2 files changed, 59 insertions(+)
> create mode 100644 tools/perf/Documentation/perf-irq.txt
>
> diff --git a/tools/perf/Documentation/perf-irq.txt b/tools/perf/Documentation/perf-irq.txt
> new file mode 100644
> index 000000000000..8c0e388dad59
> --- /dev/null
> +++ b/tools/perf/Documentation/perf-irq.txt
> @@ -0,0 +1,58 @@
> +perf-irq(1)
> +=============
> +
> +NAME
> +----
> +perf-irq - Tool to trace/measure hardware interrupts
> +
> +SYNOPSIS
> +--------
> +[verse]
> +'perf irq' {record|timeconsume|script}
> +
> +DESCRIPTION
> +-----------
> +There are several variants of 'perf irq':
> +
> + 'perf irq record <command>' to record the irq handler events
> + of an arbitrary workload.
> +
> + 'perf irq script' to see a detailed trace of the workload that
> + was recorded (aliased to 'perf script' for now).
> +
> + 'perf irq timeconsume' to calculate the time consumed by each
> + hardware interrupt processing function.
> +
> + Example usage:
> + perf irq record -- sleep 1
> + perf irq timeconsume

This timeconsume mode looks more like: perf irq report <options>

> +
> + By default it shows the individual irq events, including the irq name,
> + cpu(execute the hardware interrupt processing function), time consumed,
> + entry time and exit time for the each hardware irq:
> +
> + -------------------------------------------------------------------------------------------------------------------------------------------
> + Irq name | CPU | Time consume us | Handler entry time | Handler exit time
> + -------------------------------------------------------------------------------------------------------------------------------------------
> + enp2s0f2-tx-0 | [0006] | 0.000001 s | 6631263.313329 s | 6631263.313330 s
> +
> + -------------------------------------------------------------------------------------------------------------------------------------------
> + Irq name | CPU | Time consume us | Handler entry time | Handler exit time
> + -------------------------------------------------------------------------------------------------------------------------------------------
> + megasas | [0013] | 0.000003 s | 6631263.209564 s | 6631263.209567 s
> +
> + -------------------------------------------------------------------------------------------------------------------------------------------
> + Irq name | CPU | Time consume us | Handler entry time | Handler exit time
> + -------------------------------------------------------------------------------------------------------------------------------------------
> + acpi | [0016] | 0.000018 s | 6631263.085787 s | 6631263.085805 s
> +
> +
> +OPTIONS for 'perf irq'
> +----------------------------
> +
> +--cpus::
> + Show just entries with activities for the given CPUs.

I am getting this:

tools/perf/perf irq --cpus=0 record -- find /
Error: unknown option `cpus=0'

Usage: perf irq [<options>] {record|timeconsume|script}

Regards,
Alexei