radeon_fenc..._seq_timeout(9)
π radeon_fence_wait_seq_timeout(9) π
okay so this is a page from the Kernel API Manual, and bestie, it's literally about waiting for your GPU's sequence numbers to catch up. no cap, it's giving "patience is a virtue" energy. sit down, grab a π, let's go.
β¨ NAME β¨
radeon_fence_wait_seq_timeout β wait for a specific sequence numbers π
(yes, the original says "a specific sequence numbers", and honestly? iconic. we don't fix it. we respect it.)
π¦ SYNOPSIS π¦
long radeon_fence_wait_seq_timeout (struct radeon_device *rdev , u64
*target_seq , bool intr , long timeout );
like. look at that signature. she's long, she's got pointers, she's got a bool β main character energy fr fr π
πΈ ARGUMENTS πΈ
rdevβ the radeon device pointer. like, the actual GPU bestie we're talking to π«Άtarget_seqβ the sequence number(s) we want to wait for. the goal. the dream. the finish line βintrβ use interruptable sleep. yes, that's how it's spelled in the source, don't come for me πtimeoutβ maximum time to wait... orMAX_SCHEDULE_TIMEOUTif you're feeling unhinged and want to wait forever π
π₯ DESCRIPTION π₯
so the whole vibe here is: you're waiting for the requested sequence number(s) to be written by any ring (all asics, no exceptions, we love an inclusive queen π).
the sequence number array is indexed by ring id β iykyk, each ring gets her own little slot π
intr picks your sleep style: interruptable (true) or non-interruptable (false) while you're out here waiting for that sequence number to show up. it's a helper function for radeon_fence_wait_*(). the way that it just supports the whole family... a supportive icon π§
what it returns:
- the remaining time if the sequence number has already passed β she made it, we're so back β¨
0when the wait timeout β tragic, but at least we know π- an error for all other cases β not me getting a generic error, embarrassing π
- and specifically
-EDEADLKis returned when a GPU lockup has been detected β red flag bestie, RED FLAG, abort mission π¨
π SEE ALSO π
the kernel file lives at:
./drivers/gpu/drm/radeon/radeon_fence.c
and here's the whole friend group, all (9)s, all invited to the group chat:
radeon_fence_write(9)radeon_fence_read(9)radeon_fence_schedule_check(9)radeon_fence_emit(9)radeon_fence_activity(9)radeon_fence_check_lockup(9)radeon_fence_process(9)radeon_fence_seq_signaled(9)radeon_fence_enable_signaling(9)radeon_fence_signaled(9)radeon_fence_any_seq_signaled(9)radeon_fence_wait_timeout(9)radeon_fence_wait(9)radeon_fence_wait_next(9)radeon_fence_wait_empty(9)radeon_fence_ref(9)radeon_fence_unref(9)radeon_fence_count_emitted(9)radeon_fence_need_sync(9)radeon_fence_note_sync(9)radeon_fence_driver_start_ring(9)radeon_fence_driver_init_ring(9)radeon_fence_driver_init(9)radeon_fence_driver_fini(9)radeon_fence_driver_force_completion(9)
like, that's the entire squad. no one left behind π«Ά
reminder:MAX_SCHEDULE_TIMEOUTis the infinite-wait option, and-EDEADLKmeans a GPU lockup got detected. don't say I didn't warn you π
anyway, that's the tea. this page ships out of ./drivers/gpu/drm/radeon, dated October 2026, and yes β the header still says radeon_fenc..._seq_timeout(9) because even manpage titles deserve a little nickname. slay πβ¨
π¦ 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