On Mon, 06 Jul 2026 10:29:17 -0300, Maíra Canal wrote:
> A v3d core is able to expose a single set of HW performance counters, so at
> any moment at most one perfmon can be programmed in HW. Currently, the
> driver tracks the active perfmon with v3d_dev->active_perfmon, but three
> long-standing issues makes perfmon handling unreliable:
>
> 1. The active_perfmon pointer is accessed lock-free from scheduler
> callbacks, the GPU-reset path and the perfmon ioctls. Note that the
> v3d_perfmon->lock mutex serialized start/stop of one perfmon object
> against itself, but the invariant that needs protection is device-wide.
>
> [...]
Applied, thanks!
[1/2] drm/v3d: Refactor perfmon locking
commit: a57c0d30f8247dcebf3b2395f12bca4191d67664
[2/2] drm/v3d: Serialize jobs across queues when a perfmon is attached
commit: 9cf5cbd8648102ddee6559217f43b8f5aae48a78
Best regards,
- Maíra