[PATCH 0/6] drm/v3d: Improve Performance Counters handling
Iago Toral
itoral at igalia.com
Thu May 9 06:15:14 UTC 2024
Hi Maíra,
I made a couple of minor comments, with those addressed the series is:
Reviewed-by: Iago Toral Quiroga <itoral at igalia.com>
Thanks a lot for this!,
Iago
El mié, 08-05-2024 a las 11:30 -0300, Maíra Canal escribió:
> This series has the intention to address two issues with Performance
> Counters
> on V3D:
>
> 1. Update the number of Performance Counters for V3D 7.1
>
> V3D 7.1 has 93 performance counters, while V3D 4.2 has only 87.
> Although the
> series [1] enabled support for V3D 7.1, it didn’t replace the maximum
> number of
> performance counters. This led to errors in user space as the Vulkan
> driver
> updated the maximum number of performance counters, but the kernel
> didn’t.
>
> Currently, the user space can request values for performance counters
> that
> are greater than 87 and the kernel will return an error instead of
> the values.
> That’s why `dEQP-VK.query_pool.performance_query.*` currently fails
> on Mesa
> CI [2]. This series intends to fix the `dEQP-
> VK.query_pool.performance_query.*`
> fail.
>
> 2. Make the kernel able to provide the Performance Counter
> descriptions
>
> Although all the management of the Performance Monitors is done
> through IOCTLs,
> which means that the code is in the kernel, the performance counter
> descriptions
> are in Mesa. This means two things: (#1) only Mesa has access to the
> descriptions
> and (#2) we can have inconsistencies between the information provided
> by Mesa
> and the kernel, as seen in the first issue addressed by this series.
>
> To minimize the risk of inconsistencies, this series proposes to use
> the kernel
> as a “single source of truth”. Therefore, if there are any changes to
> the
> performance monitors, all the changes must be done only in the
> kernel. This
> means that all information about the maximum number of performance
> counters and
> all the descriptions will now be retrieved from the kernel.
>
> This series is coupled with a Mesa series [3] that enabled the use of
> the new
> IOCTL. I appreciate any feedback from both the kernel and Mesa
> implementations.
>
> [1]
> https://lore.kernel.org/dri-devel/20231031073859.25298-1-itoral@igalia.com/
> [2]
> https://gitlab.freedesktop.org/mesa/mesa/-/commit/ea1f09a5f21839f4f3b93610b58507c4bd9b9b81
> [3]
> https://gitlab.freedesktop.org/mairacanal/mesa/-/tree/v3dv/fix-perfcnt
>
> Best Regards,
> - Maíra Canal
>
> Maíra Canal (6):
> drm/v3d: Add Performance Counters descriptions for V3D 4.2 and 7.1
> drm/v3d: Different V3D versions can have different number of
> perfcnt
> drm/v3d: Create a new V3D parameter for the maximum number of
> perfcnt
> drm/v3d: Create new IOCTL to expose performance counters
> information
> drm/v3d: Use V3D_MAX_COUNTERS instead of V3D_PERFCNT_NUM
> drm/v3d: Deprecate the use of the Performance Counters enum
>
> drivers/gpu/drm/v3d/v3d_drv.c | 11 +
> drivers/gpu/drm/v3d/v3d_drv.h | 14 +-
> drivers/gpu/drm/v3d/v3d_perfmon.c | 36 ++-
> .../gpu/drm/v3d/v3d_performance_counters.h | 208
> ++++++++++++++++++
> drivers/gpu/drm/v3d/v3d_sched.c | 2 +-
> include/uapi/drm/v3d_drm.h | 44 ++++
> 6 files changed, 312 insertions(+), 3 deletions(-)
> create mode 100644 drivers/gpu/drm/v3d/v3d_performance_counters.h
>
More information about the dri-devel
mailing list