STRUCT DRM_SUBALLOC(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’… struct drm_suballoc(9) πŸ’…

okay so welcome to the Kernel API Manual, bestie β€” today's main character is struct drm_suballoc, aka the Sub-allocated range. literally what it says on the tin. let's get into it ✨


🌸 NAME 🌸

struct drm_suballoc β€” Sub-allocated range πŸŽ€


✨ SYNOPSIS ✨

struct drm_suballoc {
    struct list_head olist;
    struct list_head flist;
    struct drm_suballoc_manager *manager;
    size_t soffset;
    size_t eoffset;
    struct dma_fence *fence;
 };

no cap, that's the whole vibe right there 🫢


πŸ¦‹ Members πŸ¦‹

  • olist β€” List link for list of allocated ranges. it's giving "I know a guy who knows a guy" energy πŸ’…
  • flist β€” List linkk for the manager fenced allocated ranges queues. (yes, linkk, with two k's β€” that's exactly how it's written, we do not fix, we respect 🫑)
  • manager β€” The drm_suballoc_manager. the parent, the icon, the one in charge πŸ‘‘
  • soffset β€” Start offset. where the range begins, periodt 🌸
  • eoffset β€” End offset + 1 so that eoffset - soffset = size. bestie the +1 is not a typo, it's the whole point β€” the math is mathing 🧚
  • fence β€” The fence protecting the allocation. it's literally the security guard of this range ngl πŸ’€

πŸ”₯ SEE ALSO πŸ”₯

Kernel file ./include/drm/drm_suballoc.h, struct drm_suballoc_manager(9), drm_suballoc_soffset(9), drm_suballoc_eoffset(9), drm_suballoc_size(9) β€” go read them, iykyk πŸ“šπŸ’–


lowkey reminder: eoffset is end offset + 1. not + 0. not + 2. don't come for me, that's just how she is πŸ™ˆ

and that's the page, bestie!! 🌈 this whole thing lives in ./include/drm and she's stamped October 2026 β€” slay, iconic, ate, no notes. mwah πŸ’‹πŸ’œ

πŸ“¦ where this page comes from