xe_bo_put_async(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’… xe_bo_put_async(9)

okay so real talk, this is a page straight out of the Kernel API Manual, and it's all about one tiny function that does one tiny thing but like... correctly. bestie, it's xe_bo_put_async, and yes the (9) is part of the name, we don't question the lore πŸŽ€


✨ NAME ✨

xe_bo_put_async β€” put BO async πŸ¦‹

like, you're putting the BO, but asynchronously. the vibes are immaculate and the timing is deliberately not now.


🌸 SYNOPSIS 🌸

void xe_bo_put_async (struct xe_bo *bo );

that's it. that's the whole signature. one function, one argument, zero drama (well, ok, a little drama, see below) πŸ’…


πŸŽ€ ARGUMENTS πŸŽ€

  • bo β€” the bo to put. yes that's the entire description, and honestly? iconic. it's giving "the thing does the thing." no notes πŸ‘‘

πŸ”₯ DESCRIPTION πŸ”₯

So here's the tea β˜• β€” xe_bo_put_async puts the BO async, meaning the final put is deferred to a worker so that you can exit an IRQ context. that's the whole reason this function exists, bestie: you're in an interrupt context, you can't just do the final put right there, so you hand it off to a worker and sashay away. literally main character energy: knows when to leave the party 🌈

no cap, that's the entire behaviour. don't overthink it, don't add steps, just trust the deferral 🫢


πŸ’œ SEE ALSO πŸ’œ

the kernel file you wanna peek at is ./drivers/gpu/drm/xe/xe_bo.h and there's an enum in there too, so go look at that if you're the kind of person who reads headers for fun (respect, honestly) πŸ“–βœ¨

and then the whole friend group of related functions, all here, all accounted for:

that's thirteen (13) entries, count 'em, we did not skip a single one πŸ™ˆπŸ’–

ngl if you're reading this page and you're not in an IRQ context, you might be in the wrong place β€” but hey, the function doesn't judge, it just defers πŸ’€

mwah πŸ’‹ that's the page! brought to you by the fine folks over at ./drivers/gpu/drm/xe, dated October 2026, and forever known as xe_bo_put_async(9). go forth and put your BOs async, bestie β€” slay πŸ’…βœ¨πŸ“

πŸ“¦ where this page comes from