aboutsummaryrefslogtreecommitdiffstats
path: root/tools/perf/scripts/python/bin/stackcollapse-report
diff options
context:
space:
mode:
authorAdrián Larumbe <adrian.larumbe@collabora.com>2023-09-29 19:14:28 +0100
committerBoris Brezillon <boris.brezillon@collabora.com>2023-10-04 13:04:15 +0200
commitf11b0417eec21ade937da866363433cc0b8b396c (patch)
tree8c70bc3a8aa70859d7c083646aa9e84fc13cfa77 /tools/perf/scripts/python/bin/stackcollapse-report
parentdrm/panfrost: Add cycle count GPU register definitions (diff)
downloadlinux-f11b0417eec21ade937da866363433cc0b8b396c.tar.gz
linux-f11b0417eec21ade937da866363433cc0b8b396c.zip
drm/panfrost: Add fdinfo support GPU load metrics
The drm-stats fdinfo tags made available to user space are drm-engine, drm-cycles, drm-max-freq and drm-curfreq, one per job slot. This deviates from standard practice in other DRM drivers, where a single set of key:value pairs is provided for the whole render engine. However, Panfrost has separate queues for fragment and vertex/tiler jobs, so a decision was made to calculate bus cycles and workload times separately. Maximum operating frequency is calculated at devfreq initialisation time. Current frequency is made available to user space because nvtop uses it when performing engine usage calculations. It is important to bear in mind that both GPU cycle and kernel time numbers provided are at best rough estimations, and always reported in excess from the actual figure because of two reasons: - Excess time because of the delay between the end of a job processing, the subsequent job IRQ and the actual time of the sample. - Time spent in the engine queue waiting for the GPU to pick up the next job. To avoid race conditions during enablement/disabling, a reference counting mechanism was introduced, and a job flag that tells us whether a given job increased the refcount. This is necessary, because user space can toggle cycle counting through a debugfs file, and a given job might have been in flight by the time cycle counting was disabled. The main goal of the debugfs cycle counter knob is letting tools like nvtop or IGT's gputop switch it at any time, to avoid power waste in case no engine usage measuring is necessary. Also add a documentation file explaining the possible values for fdinfo's engine keystrings and Panfrost-specific drm-curfreq-<keystr> pairs. Signed-off-by: Adrián Larumbe <adrian.larumbe@collabora.com> Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com> Reviewed-by: Steven Price <steven.price@arm.com> Reviewed-by: AngeloGioacchino Del Regno <angelogioacchino.delregno@collabora.com> Signed-off-by: Boris Brezillon <boris.brezillon@collabora.com> Link: https://patchwork.freedesktop.org/patch/msgid/20230929181616.2769345-3-adrian.larumbe@collabora.com
Diffstat (limited to 'tools/perf/scripts/python/bin/stackcollapse-report')
0 files changed, 0 insertions, 0 deletions
w=1'>gcc-plugins: arm_ssp_per_task_plugin: sign extend the SP maskArd Biesheuvel1-2/+3 2019-01-21fix int_sqrt64() for very large numbersFlorian La Roche1-1/+1 2019-01-20x86: uaccess: Inhibit speculation past access_ok() in user_access_begin()Will Deacon1-1/+1 2019-01-20bpf: in __bpf_redirect_no_mac pull mac only if presentWillem de Bruijn2-10/+12 2019-01-19virtio_net: bulk free tx skbsMichael S. Tsirkin1-6/+6 2019-01-19clang-format: Update .clang-format with the latest for_each macro listJason Gunthorpe1-1/+42 2019-01-19net: phy: phy driver features are mandatoryCamelia Groza2-2/+7 2019-01-19isdn: avm: Fix string plus integer warning from ClangNathan Chancellor1-1/+1 2019-01-19powerpc: chrp: Use of_node_is_type to access device_typeRob Herring1-2/+1 2019-01-18net/mlx5e: Fix cb_ident duplicate in indirect block registerEli Britstein1-13/+16 2019-01-18net/mlx5e: Fix wrong (zero) TX drop counter indication for representorTariq Toukan1-0/+1 2019-01-18net/mlx5e: Fix wrong error code return on FEC query failureShay Agroskin1-1/+4 2019-01-18net/mlx5e: Force CHECKSUM_UNNECESSARY for short ethernet framesCong Wang1-0/+13 2019-01-18tools: bpftool: Cleanup license messThomas Gleixner2-11/+1 2019-01-18bpf: fix inner map masking to prevent oob under speculationDaniel Borkmann1-2/+15