xe_bo_put_commit(9)
π xe_bo_put_commit(9) β like, the Kernel API Manual page, bestie π
okay so real talk, this is a page from the Kernel API Manual, and the function we're hyping up today is xe_bo_put_commit. yes that's the whole name. she's a mouthful. she's also iconic. let's get into it β¨
πΈ NAME πΈ
xe_bo_put_commit β the girl who actually puts the bos whose put was deferred by xe_bo_put_deferred(). no cap, that's literally her job π
π¦ SYNOPSIS π¦
void xe_bo_put_commit (struct llist_head *deferred );
that's the whole signature, bb. void return, one pointer, zero drama β¨
π ARGUMENTS π
deferredβ the lockless list that got handed toxe_bo_put_deferred. like, the lil queue of bos that were too shy to get put the first time around π
π DESCRIPTION π
so here's the vibe: this function puts all the bos whose put was deferred by xe_bo_put_deferred. every single one. she's thorough like that π«Ά
and the deferred list? it can go either way, bestie:
- an onstack local list β cute, private, lives on the stack, does its lil thing and bounces β¨
- a global shared list used by a workqueue β the communal main-character energy version, shared by everybody π₯
both are valid. both get committed. that's the tea β
ngl, if you were wondering "when do the deferred bos actually get put?" β the answer is right here, when you call this. she's the closer π
π SEE ALSO π
y'all ready? because this list is long and honestly kind of iconic. source file first:
./drivers/gpu/drm/xe/xe_bo.c β that's the kernel file, the whole family lives here π
now the extended fam, in the exact order they were introduced, don't @ me:
xe_bo_has_single_placement(9)xe_bo_is_stolen_devmem(9)xe_bo_is_vm_bound(9)xe_bo_pin_account(9)xe_bo_unpin_account(9)xe_bo_is_visible_vram(9)xe_bo_move_notify(9)xe_bo_set_purgeable_shrinker(9)xe_bo_set_purgeable_state(9)xe_ttm_bo_purge(9)xe_bo_shrink(9)xe_bo_notifier_prepare_pinned(9)xe_bo_notifier_unprepare_pinned(9)xe_bo_evict_pinned(9)xe_bo_restore_pinned(9)xe_bo_read(9)xe_bo_alloc(9)xe_bo_free(9)xe_bo_init_locked(9)xe_bo_create_locked(9)xe_bo_create_user(9)xe_bo_create_pin_range_novm(9)xe_bo_create_pin_map_at_novm(9)xe_bo_create_pin_map(9)xe_bo_create_pin_map_novm(9)xe_managed_bo_reinit_in_vram(9)xe_bo_pin_external(9)xe_bo_pin(9)xe_bo_unpin_external(9)xe_bo_validate(9)xe_bo_decompress(9)xe_bo_lock(9)xe_bo_unlock(9)xe_bo_can_migrate(9)xe_bo_migrate(9)xe_bo_evict(9)xe_bo_needs_ccs_pages(9)__xe_bo_release_dummy(9)xe_bo_dev_init(9)xe_bo_dev_fini(9)xe_bo_dumb_create(9)
forty-one entries. forty-one. I counted so you don't have to, you're welcome π«Ά
and that's the whole page!! this lil cutie came from ./drivers/gpu/drm/xe, dated October 2026, and she goes by xe_bo_put_commit(9) π mwah, go commit some bos bestie β¨π
π¦ 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