xe_bo_willneed_put_locked(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’… xe_bo_willneed_put_locked(9) πŸ’…

okay so bestie, we're in the Kernel API Manual today and this is literally the page for xe_bo_willneed_put_locked β€” yes the whole name, say it with your chest 🫢


✨ NAME ✨

xe_bo_willneed_put_locked β€” the function that releases a WILLNEED holder on a BO. that's it. that's the vibe. πŸ’–


πŸ¦‹ SYNOPSIS πŸ¦‹

void xe_bo_willneed_put_locked (struct xe_bo *bo );

no cap, that's the whole signature, keep it exactly like that pls πŸ™ˆ


πŸŽ€ ARGUMENTS πŸŽ€

  • bo β€” the buffer object in question. the main character of this whole function ngl πŸ‘‘

🌸 DESCRIPTION 🌸

so here's the tea β˜• β€” this function decrements willneed_count, and on a 1->0 transition, it marks the BO DONTNEED... but ONLY if the BO still has VMAs (which implies all the active VMAs are already DONTNEED). conditional queen πŸ’…

and if the last VMA is the one being removed? then it preserves the current BO state, so it matches the previous VMA-walk semantics. iykyk 🧚

PURGED is terminal and the BO state is never modified. like, ever. that's a hard no. πŸ’€

⚠️ big one bestie: the caller must hold the BO's dma-resv lock. do not skip this. this is not a drill. πŸ”₯

πŸ‘‘ SEE ALSO πŸ‘‘


and that's the page!! 🫢 this came from the source at ./drivers/gpu/drm/xe, dated October 2026, and the header/footer kept whispering xe_bo_willneed_put_locked(9) at me the whole time so like. here it is. slay. β­πŸŒˆπŸ’œ

πŸ“¦ where this page comes from