This looks good to me, I asked a couple of questions about patches 1 and 5, everything else is:
Reviewed-by: Iago Toral Quiroga <[email protected]> El dom, 04-10-2026 a las 12:42 -0300, Maíra Canal escribió: > (...) > On a Raspberry Pi 3B+ running `glmark2-wayland --off-screen`, > lock_stat > shows job_lock contentions reduced by 90% (2093 -> 207 per run) and > total > wait time by 96% (14.7 ms -> 0.6 ms). The longest job_lock hold, > during > which interrupts are disabled, drops from 747 us to 27 us, as the > render > done handler no longer signals fences under the lock. The workload is > GPU-bound, so the glmark2 score is unchanged (239.6 vs 240.2) [1]. If you want to force a CPU bound scenario you may be able to achieve that by dropping output resolution to a minimum (passing something like -s 32x32) . That would make GPU-side work very small and CPU work might become dominant. Iago > > About 99k acquisitions per run move off job_lock onto the per-fence > locks, > and 185k more onto bin_alloc_lock, with little contention on either. > > Considering that glmark2 is a GPU-bound client, it's important to > notice > that contention improvements might be higher with several clients or > a > CPU-bound workload, which I did not measure. > > This series applies on top of "drm/vc4: Fix binner slot allocation > failing > on an idle GPU" [2]. > > [1] `glmark2-wayland --off-screen` scores are the mean of 5 runs per > kernel > without CONFIG_LOCK_STAT enabled. The lock data is the mean of 3 runs > from > CONFIG_LOCK_STAT builds. > > [2] > https://lore.kernel.org/dri-devel/[email protected]/T/ > > Best regards, > - Maíra > > --- > Maíra Canal (11): > drm/vc4: Publish the output fence outside of job_lock > drm/vc4: Drop the BO reservations outside of job_lock > drm/vc4: Refcount vc4_exec_info > drm/vc4: Return the seqno of the submitted job > drm/vc4: Attach the job fences outside of job_lock > drm/vc4: Use the inline fence lock > drm/vc4: Signal the render fence outside of job_lock > drm/vc4: Take job_lock only once to drain job_done_list > drm/vc4: Protect perfmon state with a dedicated lock > drm/vc4: Protect the hang state with a dedicated lock > drm/vc4: Split out bin_alloc_lock > > drivers/gpu/drm/vc4/vc4_drv.h | 20 +++++-- > drivers/gpu/drm/vc4/vc4_gem.c | 106 +++++++++++++++++++--------- > ---------- > drivers/gpu/drm/vc4/vc4_irq.c | 80 ++++++++++++++++------------ > drivers/gpu/drm/vc4/vc4_perfmon.c | 40 +++++++++----- > drivers/gpu/drm/vc4/vc4_v3d.c | 2 +- > 5 files changed, 146 insertions(+), 102 deletions(-) > --- > base-commit: 64eded63d88ea70466c57cf433761bb1efea37a4 > change-id: 20261002-vc4-misc-fixes-2b313622f570 > >
