mirror of
https://github.com/torvalds/linux.git
synced 2026-09-14 16:10:02 +02:00
While 'perf sched latency' reports task runtime and delay statistics
(average and maximum delay), it does not provide a visual representation
of how task wait times are distributed across latency ranges between
snapshots (start and finish of the analysis window).
The --histogram option collects CPU wait latencies (time between when
a task becomes runnable and when it gets scheduled onto a CPU) into 22
latency buckets, displaying an ASCII bar chart distribution.
The --hist-mode option configures the bucketing scheme:
- log (default). Logarithmic latency buckets ranging from
sub-microsecond (< 1 us) up to >= 1.05 seconds
- linear. Equal-width linear latency buckets
(i.e., 100 us steps up to >= 2.1 ms)
The --time option allows filtering trace event processing to a
specific time interval [start,stop].
Example histogram output excerpt:
❯ sudo perf sched latency --histogram --CPU 0
CPU Wait Latency Distribution Histogram (between snapshots) (total samples: 36114)
-------------------------------------------------------------------
Latency Range | Count | Pct | Histogram Graph
-------------------------------------------------------------------
< 1 us | 17 | 0.0% | #
2 - 4 us | 673 | 1.9% | #
4 - 8 us | 6237 | 17.3% | ######
8 - 16 us | 3224 | 8.9% | ###
16 - 32 us | 1388 | 3.8% | #
32 - 64 us | 709 | 2.0% | #
64 - 128 us | 690 | 1.9% | #
128 - 256 us | 789 | 2.2% | #
256 - 512 us | 541 | 1.5% | #
512 - 1024 us | 2256 | 6.2% | ##
1 - 2 ms | 3577 | 9.9% | ###
2 - 4 ms | 13259 | 36.7% | ##############
4 - 8 ms | 2523 | 7.0% | ##
8 - 16 ms | 222 | 0.6% | #
16 - 32 ms | 10 | 0.0% | #
>= 1.05 s | 3 | 0.0% | #
-------------------------------------------------------------------
Reviewed-by: Ian Rogers <irogers@google.com>
Signed-off-by: Aaron Tomlin <atomlin@atomlin.com>
Signed-off-by: Namhyung Kim <namhyung@kernel.org>
|
||
|---|---|---|
| .. | ||
| android.txt | ||
| arm-coresight.txt | ||
| asciidoc.conf | ||
| asciidoctor-extensions.rb | ||
| build-docdep.perl | ||
| build-xed.txt | ||
| Build.txt | ||
| callchain-overhead-calculation.txt | ||
| cat-texi.perl | ||
| cpu-and-latency-overheads.txt | ||
| db-export.txt | ||
| examples.txt | ||
| guest-files.txt | ||
| guestmount.txt | ||
| intel-acr.txt | ||
| intel-bts.txt | ||
| intel-hybrid.txt | ||
| intel-pt.txt | ||
| itrace.txt | ||
| jit-interface.txt | ||
| jitdump-specification.txt | ||
| Makefile | ||
| manpage-1.72.xsl | ||
| manpage-base.xsl | ||
| manpage-bold-literal.xsl | ||
| manpage-normal.xsl | ||
| manpage-suppress-sp.xsl | ||
| perf-amd-ibs.txt | ||
| perf-annotate.txt | ||
| perf-archive.txt | ||
| perf-arm-spe.txt | ||
| perf-bench.txt | ||
| perf-buildid-cache.txt | ||
| perf-buildid-list.txt | ||
| perf-c2c.txt | ||
| perf-check.txt | ||
| perf-config.txt | ||
| perf-daemon.txt | ||
| perf-data.txt | ||
| perf-diff.txt | ||
| perf-dlfilter.txt | ||
| perf-evlist.txt | ||
| perf-ftrace.txt | ||
| perf-help.txt | ||
| perf-inject.txt | ||
| perf-intel-pt.txt | ||
| perf-iostat.txt | ||
| perf-kallsyms.txt | ||
| perf-kmem.txt | ||
| perf-kvm.txt | ||
| perf-kwork.txt | ||
| perf-list.txt | ||
| perf-lock.txt | ||
| perf-mem.txt | ||
| perf-probe.txt | ||
| perf-record.txt | ||
| perf-report.txt | ||
| perf-sched.txt | ||
| perf-script-perl.txt | ||
| perf-script-python.txt | ||
| perf-script.txt | ||
| perf-stat.txt | ||
| perf-test.txt | ||
| perf-timechart.txt | ||
| perf-top.txt | ||
| perf-trace.txt | ||
| perf-version.txt | ||
| perf.data-directory-format.txt | ||
| perf.data-file-format.txt | ||
| perf.txt | ||
| perfconfig.example | ||
| security.txt | ||
| tips.txt | ||
| topdown.txt | ||