Skip to content

Conversation

@popcornmix
Copy link
Collaborator

@popcornmix popcornmix commented Oct 28, 2025

drm/v3d: create a dedicated lock for dma fence

Don't mix dma fence lock with the active_job lock. Use fence_lock to
protect the dma fence used by drm scheduler when signalling a job
completion and queue_lock to protect concurrent access to active bin job
in OOM and stats collection for a given file priv. The issue was
uncovered when PREEMPT_RT on with a system freeze when opening multiple
Chromium tabs on Raspberry Pi 5.

Don't mix dma fence lock with the active_job lock. Use fence_lock to
protect the dma fence used by drm scheduler when signalling a job
completion and queue_lock to protect concurrent access to active bin job
in OOM and stats collection for a given file priv. The issue was
uncovered when PREEMPT_RT on with a system freeze when opening multiple
Chromium tabs on Raspberry Pi 5.

Link: raspberrypi#7035
Fixes: fa6a20c ("drm/v3d: Address race-condition between per-fd GPU stats and fd release")
Signed-off-by: Melissa Wen <[email protected]>
Acked-by: Iago Toral Quiroga <[email protected]>
Reviewed-by: Maíra Canal <[email protected]>
Signed-off-by: Melissa Wen <[email protected]>
Link: https://lore.kernel.org/r/[email protected]
@popcornmix
Copy link
Collaborator Author

See:
#7035
https://forums.raspberrypi.com/viewtopic.php?t=393233

This is from upstream (and on 6.18.y branch).

@pelwell pelwell merged commit 09fb2c6 into raspberrypi:rpi-6.12.y Oct 28, 2025
12 checks passed
@popcornmix popcornmix deleted the drm_fence branch October 28, 2025 14:00
popcornmix added a commit to raspberrypi/firmware that referenced this pull request Oct 28, 2025
See: raspberrypi/linux#7112

kernel: misc: ws2812-pio-rp1: Allow gamma to be disabled
See: raspberrypi/linux#7110

kernel: Add AD799X ADC support
See: raspberrypi/linux#7105
popcornmix added a commit to raspberrypi/rpi-firmware that referenced this pull request Oct 28, 2025
See: raspberrypi/linux#7112

kernel: misc: ws2812-pio-rp1: Allow gamma to be disabled
See: raspberrypi/linux#7110

kernel: Add AD799X ADC support
See: raspberrypi/linux#7105
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants