[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