continue_at(9)
π continue_at(9) π
okay so welcome to the Kernel API Manual, bestie β todayβs main character is continue_at. the NAME section says it all: jump to another function with barrier. thatβs the vibe. β¨
πΈ SYNOPSIS πΈ
continue_at (_cl , _fn , _wq );
π ARGUMENTS π
_clβ the manpage literally gives us-- undescribed --π no extra lore, bestie._fnβ also-- undescribed --π_wqβ yep,-- undescribed --again π
π¦ DESCRIPTION π¦
okay so hereβs the plot, no cap: after cl is no longer waiting on anything (i.e. all outstanding refs have been dropped with closure_put), it will resume execution at fn running out of wq. and if wq is NULL, fn will be called by closure_put directly. periodt. π
the reason is that after calling continue_at you no longer have a ref on cl, and whatever cl owns may be freed out from under you β a running closure fn has a ref on its own closure which continue_at drops. so like, thatβs the ref math, bestie. π«Ά
β οΈ note: you are expected to immediately return after using this macro. no cap. π€
π SEE ALSO π
related lore lives in Kernel file ./include/linux/closure.h β go read these, iykyk:
closure_sync(9)closure_get(9)closure_get_not_zero(9)closure_init(9)closure_wake_up(9)closure_return(9)continue_at_nobarrier(9)closure_return_with_destructor(9)closure_call(9)
xoxo, your kernel bestie π β sourced from ./include/linux, dated October 2026. 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