STRUCT DRM_VBLANK_WORK(9)
π struct drm_vblank_work(9) π
okay bestie, so this is a struct drm_vblank_work β and honestly? it's giving delayed work item but make it fashion β¨. The whole vibe is: it just sits there patiently until a target vblank passes, and then it executes at realtime priority outside of IRQ context. Periodt. π
it lives in the Kernel API Manual, and it's a struct, so buckle up π¦
β¨ SYNOPSIS β¨
struct drm_vblank_work {
struct kthread_work base;
struct drm_vblank_crtc *vblank;
u64 count;
int cancelling;
struct list_head node;
};
πΈ Members πΈ
baseβ the base kthread_work item which will be executed bydrm_vblank_crtc.worker. drivers, do NOT touch this directly β like, hands off π β and instead rely ondrm_vblank_work_initto initialize this. iykyk.vblankβ a pointer to thedrm_vblank_crtcthis work item belongs to. it's literally its home crtc πcountβ the target vblank this work will execute on. again: drivers should not modify this value directly, and instead usedrm_vblank_work_scheduleπ―cancellingβ the number ofdrm_vblank_work_cancel_synccalls that are currently running. and here's the catch bestie: a work item cannot be rescheduled until all calls have finished. no cap, that's the rule β οΈnodeβ the position of this work item indrm_vblank_crtc.pending_work. it's just chillin' in the queue π
π Description π
not much to say here besides see also, so here's the whole squad you should go look at π:
drm_vblank_work_scheduledrm_vblank_work_initdrm_vblank_work_cancel_syncdrm_vblank_work_flushdrm_vblank_work_flush_all
π SEE ALSO π
- Kernel file
./include/drm/drm_vblank_work.h to_drm_vblank_work(9)
and that's the whole thing, bestie, you ate that π«Ά this little page came straight out of ./include/drm, dated October 2026, and it's titled struct drm_vblank_work(9) β iconic, honestly πβ¨π
π¦ 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