drm_atomic_...cking_commit(9)
π drm_atomic_nonblocking_commit(9) β the vibe check
okay so bestie, we're in the Kernel API Manual today and this one is literally the "do it but don't wait for it" commit. no cap. β¨
πΈ NAME πΈ
drm_atomic_nonblocking_commit β atomic nonblocking commit. she does the commit but she is not about to stand around waiting for it. main character energy only π
π SYNOPSIS π
int drm_atomic_nonblocking_commit (struct drm_atomic_commit *state );
π¦ ARGUMENTS π¦
stateβ the atomic configuration to check. that's it, that's the whole argument, she's low maintenance π
π₯ DESCRIPTION π₯
okay so first thing, and this is highkey important: this function can return -EDEADLK if the driver needed to acquire more locks but ran into a deadlock. so if that happens, the caller has to do the usual w/w backoff dance and restart. yep, the whole dance. π
all the other errors though? fatal. no takebacks, no retries, that's the end of the road fr fr.
also this function will take its own reference on state. so callers should always release their reference with drm_atomic_commit_put. like, always always. don't leave her hanging π
β RETURN β
0 on success, negative error code on failure. slay or don't slay, there is no in between π«Ά
π SEE ALSO π
the whole group chat, in order:
- Kernel file
./drivers/gpu/drm/drm_atomic.cstate lifetime(9) drm_crtc_commit_wait(9)drm_atomic_commit_default_release(9)drm_atomic_commit_init(9)drm_atomic_commit_alloc(9)drm_atomic_commit_default_clear(9)drm_atomic_commit_clear(9)__drm_atomic_commit_free(9)drm_atomic_get_crtc_state(9)drm_atomic_get_plane_state(9)drm_atomic_get_colorop_state(9)drm_atomic_get_old_colorop_state(9)drm_atomic_get_new_colorop_state(9)drm_atomic_plane_check(9)- handling driver private state(9)
drm_atomic_private_obj_init(9)drm_atomic_private_obj_fini(9)drm_atomic_get_private_obj_state(9)drm_atomic_get_old_private_obj_state(9)drm_atomic_get_new_private_obj_state(9)drm_atomic_get_old_connector_for_encoder(9)drm_atomic_get_new_connector_for_encoder(9)drm_atomic_get_connector_for_encoder(9)drm_atomic_get_old_crtc_for_encoder(9)drm_atomic_get_new_crtc_for_encoder(9)drm_atomic_get_connector_state(9)drm_atomic_get_bridge_state(9)drm_atomic_get_old_bridge_state(9)drm_atomic_get_new_bridge_state(9)drm_atomic_add_encoder_bridges(9)drm_atomic_add_affected_connectors(9)drm_atomic_add_affected_planes(9)drm_atomic_add_affected_colorops(9)drm_atomic_check_only(9)drm_atomic_commit(9)drm_atomic_print_new_state(9)drm_state_dump(9)
and that's the whole page, bestie π this lil gem lives at ./drivers/gpu/drm and the version/date stamp on it is October 2026 β iconic, ahead of her time fr. iykyk ππ§
π¦ 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