vchan_terminate_vdesc(9)
π vchan_terminate_vdesc β like, the whole vibe β¨
okay bestie, so this is a page straight out of the Kernel API Manual, and it's about one tiny function that does one very specific thing π no cap, it's short, but every word matters so stay with me.
πΈ NAME πΈ
vchan_terminate_vdesc β kills off a pending cyclic callback, that's the whole job π
β SYNOPSIS β
void vchan_terminate_vdesc (struct virt_dma_desc *vd );
it literally returns void, so likeβ¦ don't go looking for a return value, there isn't one π«Ά
π¦ ARGUMENTS π¦
vdβ the virtual descriptor that's getting terminated βοΈ it's the one being shut down, bestie, that's it
π₯ DESCRIPTION π₯
okay so real talk: vc.lock must be held by the caller π like, that's not a suggestion, that's the whole deal. you show up holding the lock, or you don't show up at all π
fr fr though β this is the entire description. no extra lore. lock held, or it's not it π
π SEE ALSO π
everything here lives in the kernel file ./drivers/dma/virt-dma.h β go read the whole friend group:
vchan_tx_prep(9)vchan_issue_pending(9)vchan_cookie_complete(9)vchan_vdesc_fini(9)vchan_cyclic_callback(9)vchan_next_desc(9)vchan_get_all_descriptors(9)vchan_synchronize(9)
and that's the page, bestie π that's genuinely all of it β short, iconic, absolutely zero filler β¨
shoutout to ./drivers/dma for being the source of all this, dated October 2026 π mwah, see you in the next manpage πΈ
π¦ 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