Vinson Lee
29c6a09887
pps: Fix build errors.
...
In file included from ../src/tool/pps/pps_device.cc:10:
../src/tool/pps/pps_device.h:23:11: error: ‘uint32_t’ does not name a type
23 | static uint32_t device_count();
| ^~~~~~~~
In file included from ../src/tool/pps/pps_counter.cc:10:
../src/tool/pps/pps_counter.h:22:4: error: ‘uint32_t’ does not name a type
22 | uint32_t id;
| ^~~~~~~~
Fixes: 1cc72b2aef ("pps: Gfx-pps v0.3.0")
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/8186
Signed-off-by: Vinson Lee <vlee@freedesktop.org >
Reviewed-by: Rob Clark <robclark@freedesktop.org >
Reviewed-by: David Heidelberg <david.heidelberg@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21714 >
2023-03-13 01:22:46 +00:00
Isaac Bosompem
4c0a54fc36
tool/pps: Fix 32-bit build issue with format string
...
Fixes a 32-bit build issue with Perfetto enabled.
Move the printf format specifier to use PRIx64 which
will be consistent regardless of the build type.
Signed-Off By: Isaac Bosompem <mrisaacb@google.com >
Reviewed-by: Emma Anholt <emma@anholt.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20732 >
2023-01-18 19:27:41 +00:00
Lionel Landwerlin
1082c8ad11
pps: print out message when we get the first counters
...
Mostly for debug purposes, show the first visible counter timestamp.
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Reviewed-by: Emma Anholt <emma@anholt.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16655 >
2023-01-13 01:22:15 +00:00
Emma Anholt
25edfcdb2a
perfetto: Add the intel data sources to system.cfg.
...
Now I don't need to remember different perfetto setups depending on which
system I'm profiling.
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20658 >
2023-01-12 20:21:03 +00:00
Chia-I Wu
339d80d5f2
pps: make pps-producer RT only on freedreno
...
Calling sched_setscheduler twice every sample period has high CPU
overhead. For intel and panfrost, their dump_perfcnt is preemptible and
they don't need the scheduler change.
For freedreno, simply makes the main thread RT at all time. This solves
most of the cpu overhead issue.
v2: removed pthread_t param and just change the scheduler for the
calling thread
Acked-by: Rob Clark <robdclark@chromium.org > (v1)
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19668 >
2022-11-15 21:21:42 +00:00
Lionel Landwerlin
091b5b08d4
pps: enable track_event in intel.cfg
...
Take the opportunity to prune some ftraces that are not that useful
and fill the buffer pretty fast.
Record time is bumped to 1.2s
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18930 >
2022-10-09 22:39:53 +03:00
Chia-I Wu
cbd8e24b9f
pps: enable track_event in system.cfg
...
This enables MESA_TRACE_* tracepoints.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18260 >
2022-08-26 21:47:44 +00:00
Eric Engestrom
c66622de3a
meson: replace manual compiler flags with meson arguments
...
These would only have worked in GCC and Clang, which so far wasn't an
issue, but let's clean it up anyway.
Cc: mesa-stable
Signed-off-by: Eric Engestrom <eric@engestrom.ch >
Reviewed-by: Jesse Natalie <jenatali@microsoft.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18190 >
2022-08-24 22:13:19 +00:00
Danylo Piliaiev
6bf4ae002a
pps: Open writable renderer node in DrmDevice::create
...
DrmDevice::create_all correctly opened the node with O_RDWR, while
DrmDevice::create was not, causing failure to create writable buffer.
Fixes pps-config on Freedreno.
Fixes: 1cc72b2aef
("pps: Gfx-pps v0.3.0")
Signed-off-by: Danylo Piliaiev <dpiliaiev@igalia.com >
Reviewed-by: Antonio Caggiano <antonio.caggiano@collabora.com >
Reviewed-by: Rob Clark <robdclark@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16406 >
2022-05-11 15:41:28 +00:00
Felix DeGrood
1027655810
pps: increase intel.cfg buffer size
...
Reviewed-by: Rohan Garg <rohan.garg@intel.com >
Acked-by: Antonio Caggiano <antonio.caggiano@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13996 >
2022-01-14 20:17:44 +00:00
Lionel Landwerlin
1d2fea6eae
tools/pps: limit intel cfg to 250ms of sampling
...
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Reviewed-by: Rohan Garg <rohan.garg@intel.com >
Acked-by: Antonio Caggiano <antonio.caggiano@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13996 >
2022-01-14 20:17:44 +00:00
Lionel Landwerlin
b462dafbd6
pps: enable anv source in example config file
...
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Reviewed-by: Rohan Garg <rohan.garg@intel.com >
Acked-by: Antonio Caggiano <antonio.caggiano@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13996 >
2022-01-14 20:17:44 +00:00
Lionel Landwerlin
bd104d5b1a
intel/pps: tweak intel config some more
...
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Reviewed-by: Antonio Caggiano <antonio.caggiano@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13831 >
2021-11-22 11:52:46 +00:00
Lionel Landwerlin
21a1c6995c
pps: fixup sporadic missing counters
...
The issue seems to be that without proper timestamps & clock_id, the
recording might discard some packets if they go backward in time.
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Reviewed-by: Antonio Caggiano <antonio.caggiano@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13831 >
2021-11-22 11:52:46 +00:00
Lionel Landwerlin
8657fa6b86
pps: allow drivers to report timestamps in their own time domain
...
For this each driver must :
- report its clock_id (if no particular clock just default to cpu
boottime one)
- be able to sample its clock (gpu_timestamp())
The PPSDataSource will then emit timestamp correlation events in the
trace ensuring perfetto is able to display GPU & CPU events
appropriately on its timeline.
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Reviewed-by: Antonio Caggiano <antonio.caggiano@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13831 >
2021-11-22 11:52:46 +00:00
Lionel Landwerlin
bc0a702c52
pps: add an intel config file
...
It was useful to set a colleague up on perfetto.
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Reviewed-by: Antonio Caggiano <antonio.caggiano@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13571 >
2021-10-28 13:16:56 +03:00
Lionel Landwerlin
32b28f2cfa
pps: remove counter_ids fields
...
Those appear not to be recognized anymore by perfetto.
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Reviewed-by: Antonio Caggiano <antonio.caggiano@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13571 >
2021-10-28 13:16:56 +03:00
Antonio Caggiano
513d1baaea
pps: Panfrost pps driver
...
Add the Panfrost pps driver.
v2: Human readable names for counter blocks and use `unreachable`.
v3: Use libpanfrost_perf to collect counter values.
Signed-off-by: Antonio Caggiano <antonio.caggiano@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10215 >
2021-07-13 11:03:55 +00:00
Antonio Caggiano
92180a4376
pps: Intel pps driver
...
Add the Intel pps driver using functionalities provided by
libintel_perf.
v2: Fix build with perfetto not enabled.
v3: Open perf stream with no filtering.
v4: Drop usage of inc/dec_n_users.
v5: Isolate intel_perf in its own class.
Signed-off-by: Antonio Caggiano <antonio.caggiano@collabora.com >
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10216 >
2021-05-18 14:28:48 +00:00
Rob Clark
1fadcfedb7
pps: Add a more interesting cfg example
...
Includes counters and renderstages, as well as CPU process/freq, vblank,
dma_fence, etc. This is a more reasonable starting point for system
level tracing.
Signed-off-by: Rob Clark <robdclark@chromium.org >
Reviewed-by: Antonio Caggiano <antonio.caggiano@collabora.com >
Acked-by: Emma Anholt <emma@anholt.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9901 >
2021-05-10 15:34:07 +00:00
Rob Clark
3e13e45467
freedreno: Add freedreno pps driver
...
Signed-off-by: Rob Clark <robdclark@chromium.org >
Reviewed-by: Antonio Caggiano <antonio.caggiano@collabora.com >
Acked-by: Emma Anholt <emma@anholt.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9901 >
2021-05-10 15:34:07 +00:00
Rob Clark
7327c051d0
pps: Lower min sampling interval
...
A shorter interval lets us have more granularity to see counter changes
per tile pass.
Signed-off-by: Rob Clark <robdclark@chromium.org >
Reviewed-by: Antonio Caggiano <antonio.caggiano@collabora.com >
Acked-by: Emma Anholt <emma@anholt.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9901 >
2021-05-10 15:34:07 +00:00
Antonio Caggiano
f6be64ef66
pps: Documentation
...
Add documentation for Perfetto and Gfx-pps, together with some perfetto
config files to use as a starting point.
Signed-off-by: Antonio Caggiano <antonio.caggiano@collabora.com >
Signed-off-by: Rob Clark <robdclark@chromium.org >
Acked-by: Emma Anholt <emma@anholt.net >
Reviewed-by: John Bates <jbates@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9652 >
2021-05-07 13:41:38 +00:00
Antonio Caggiano
948f780915
pps: Gfx-pps config tool
...
Add helpful tool to query pps capabilites such as supported devices,
counters and counter groups, and to dump counter values to stdout.
Signed-off-by: Antonio Caggiano <antonio.caggiano@collabora.com >
Acked-by: Emma Anholt <emma@anholt.net >
Reviewed-by: Rob Clark <robdclark@chromium.org >
Reviewed-by: John Bates <jbates@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9652 >
2021-05-07 13:41:38 +00:00
Antonio Caggiano
1cc72b2aef
pps: Gfx-pps v0.3.0
...
Add the gfx-pps backbone in `src/pps`.
v2: Simplify supported drivers creation.
v3: No default getter is provided for counters.
v4: Open DRM device in read/write mode.
v5: Wait for datasource to be started.
v6: Set FIFO scheduler while sampling counters.
Signed-off-by: Antonio Caggiano <antonio.caggiano@collabora.com >
Acked-by: Emma Anholt <emma@anholt.net >
Reviewed-by: Rob Clark <robdclark@chromium.org >
Reviewed-by: John Bates <jbates@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9652 >
2021-05-07 13:41:38 +00:00