radeon_fenc..._seq_timeout(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’– 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... or MAX_SCHEDULE_TIMEOUT if 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 ✨
  • 0 when the wait timeout β€” tragic, but at least we know 😭
  • an error for all other cases β€” not me getting a generic error, embarrassing πŸ’€
  • and specifically -EDEADLK is 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:

like, that's the entire squad. no one left behind 🫢


reminder: MAX_SCHEDULE_TIMEOUT is the infinite-wait option, and -EDEADLK means 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