ttm_bo_set_bulk_move(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

✨ ttm_bo_set_bulk_move ✨

okay so this page is from the Kernel API Manual bestie β€” it's ttm_bo_set_bulk_move(9) and it's literally the glow-up your buffer object's bulk move needs πŸ’…


🌸 NAME 🌸

ttm_bo_set_bulk_move β€” update BOs bulk move object πŸŽ€


πŸ¦‹ SYNOPSIS πŸ¦‹

void ttm_bo_set_bulk_move (struct ttm_buffer_object *bo,
                           struct ttm_lru_bulk_move *bulk);

like. that's it. that's the whole vibe. void return, two args, no drama πŸ’–


πŸ’œ ARGUMENTS πŸ’œ

  • bo β€” the buffer object πŸ‘‘ bestie in question
  • bulk β€” the bulk move structure ✨ the squeaky-clean little container that says "these resources travel together"

🌈 DESCRIPTION 🌈

so what this does is it updates the BO's bulk move object, and β€” key detail β€” it makes sure that resources get added/removed as well, so nothing gets left behind at the party 🫢

a bulk move lets you move many resources on the LRU at once, which means much less overhead from maintaining the LRU. it's giving efficiency. it's giving slay. it's giving "why move one when you could move them all" πŸ’€

the one requirement, and this is non-negotiable: the resources have to stay together on the LRU and are never separated. no cap. that's the whole deal.

this is enforced by setting the bulk_move structure on a BO πŸ”₯ so like, the struct is your friendship bracelet β€” everyone wears one, everyone stays in the group chat.

and then ttm_lru_bulk_move_tail should be used to move all the resources to the tail of their LRU list 🧚 that's the move. that's the whole move.


πŸ‘‘ SEE ALSO πŸ‘‘

kernel file ./drivers/gpu/drm/ttm/ttm_bo.c β€” and the whole extended universe, fr fr:


anyway bestie, that's the page πŸ’œ quick sign-off so you know where this came from: it lives at ./drivers/gpu/drm/ttm, the date on it is October 2026, and the page is ttm_bo_set_bulk_move(9). go forth and bulk move responsibly, ily πŸ’–πŸŽ€πŸ¦‹

πŸ“¦ where this page comes from