xe_sa_bo_alloc(9)
β¨ xe_sa_bo_alloc β¨
okay so this is a page from the Kernel API Manual β section 9 β and the function is literally called xe_sa_bo_alloc, bestie. it's giving "tiny but crucial" energy π
πΈ NAME πΈ
xe_sa_bo_alloc β allocate an uninitialized suballoc object π
π¦ SYNOPSIS π¦
struct drm_suballoc * xe_sa_bo_alloc (gfp_t gfp );
like, that's the whole vibe. one argument, one pointer back. no cap π«Ά
π ARGUMENTS π
gfpβ thegfpflags, and these are the ones used for the memory allocation itself. yes bestie, that's your whole say in how the memory gets grabbed π₯
π DESCRIPTION π
so what it does is: allocate memory for an uninitialized suballoc object. that's it, that's the whole job β¨
the intended usage (pay attention, this is the main character part π) is to allocate the memory for the suballoc object outside of a reclaim tainted context, and then have it be initialized at a later time, in a reclaim tainted context. so: allocation now, init later π§
ngl the whole point is doing the alloc-y bit where it's safe and the init-y bit later β that ordering is the lore, don't skip it π
β RETURN β
it hands you back a new uninitialized suballoc object, or ERR_PTR(-ENOMEM) if the allocation didn't work out π (yes, check it. fr fr.)
πΈ SEE ALSO πΈ
- Kernel file
./drivers/gpu/drm/xe/xe_sa.cβ__xe_sa_bo_manager_init(9),xe_sa_bo_swap_shadow(9),xe_sa_bo_sync_shadow(9),__xe_sa_bo_new(9),xe_sa_bo_init(9),xe_sa_bo_flush_write(9),xe_sa_bo_sync_read(9)
like the whole squad is linked above, go read them too, iykyk π
π that's the page!! it lives over in ./drivers/gpu/drm/xe, and this legendary little manual was dated October 2026 β slay, iconic, periodt. go forth and suballoc responsibly 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