dma_resv_lock_slow(9)
β¨ dma_resv_lock_slow(9) β¨
okay bestie, so this is a page straight out of the Kernel API Manual, and it's literally about dma_resv_lock_slow β the slowpath way to lock a reservation object π no cap, the name says it all.
πΈ NAME πΈ
dma_resv_lock_slow β slowpath lock the reservation object π
π¦ SYNOPSIS π¦
void dma_resv_lock_slow (struct dma_resv *obj , struct ww_acquire_ctx
*ctx );
Like, that's the whole signature. Short, sweet, iconic. β¨
π ARGUMENTS π
objβ the reservation object. this is the thing you're locking, bestie.ctxβ the locking context. the vibe-check paperwork for the lock, fr fr.
π DESCRIPTION π
So here's the tea: this function acquires the reservation object after a die case. and yeah, it will sleep until the lock becomes available π΄ like it's not gonna spin or throw a tantrum, it just waits. patient main character energy honestly.
Also go look at dma_resv_lock while you're here β they're besties π«Ά
And for the interruptible variant, see dma_resv_lock_slow_interruptible β that's the one that can be woken up mid-wait. iykyk.
π₯ SEE ALSO π₯
Kernel file: ./include/linux/dma-resv.h
enum dma_resv_usage(9)dma_resv_usage_rw(9)struct dma_resv(9)struct dma_resv_iter(9)dma_resv_iter_begin(9)dma_resv_iter_end(9)dma_resv_iter_usage(9)dma_resv_iter_is_restarted(9)dma_resv_for_each_fence_unlocked(9)dma_resv_for_each_fence(9)dma_resv_lock(9)dma_resv_lock_interruptible(9)dma_resv_lock_slow_interruptible(9)dma_resv_trylock(9)dma_resv_is_locked(9)dma_resv_locking_ctx(9)dma_resv_unlock(9)
ngl the whole dma-resv fam is in that list β read the friends too, bestie π
and that's the page!! π it lives in ./include/linux and the version is stamped October 2026 β so like, future-core of this manpage, periodt ππ
mwah, go lock something slowly π
π¦ where this page comes from
- nixpkgs unstable: linux-manual 7.3.1
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms