i915_gem_ob...ate_internal(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’… i915_gem_object_create_internal πŸ’…

okay bestie so you found yourself a i915_gem_ob...ate_internal(9) page β€” that's the Kernel API Manual, the i915 flavour, and honestly? she's a lil niche but she slays. let's get into it 🫢


✨ NAME ✨

i915_gem_object_create_internal β€” create an object with volatile pages πŸ¦‹


🌸 SYNOPSIS 🌸

struct drm_i915_gem_object * i915_gem_object_create_internal (struct
       drm_i915_private *i915 , phys_addr_t size );

πŸŽ€ ARGUMENTS πŸŽ€

  • i915 β€” the i915 device, aka the main character of this whole situation πŸ‘‘
  • size β€” the size in bytes of backing storage to allocate for the object. yes, bytes. count them. πŸ’€

πŸ’– DESCRIPTION πŸ’–

so what does she even do. Creates a new object that wraps some internal memory for private use ✨ β€” like a little private stash, not for public consumption.

ngl, this object is not backed by swappable storage, and because of that its contents are volatile and only valid whilst pinned 😭. the second she gets unpinned, all bets are off.

if the object is reaped by the shrinker, its pages and data will be discarded. literally gone. bestie. 🫠

equally important: it is not a full GEM object, so it's not valid for access from userspace. lowkey a red flag if you were planning that. πŸ™ˆ

which makes it super useful for hardware interfaces like ringbuffers β€” those are pinned from the time the request is written to the time the hardware stops accessing it, so the volatile thing? totally fine there. πŸ’…

but not for contexts β€” those need to be preserved when not active for later reuse, and that's just not the vibe here. ❌

⚠️ also note that it is not cleared upon allocation. no zeroing, no wiping, nothing. whatever's in there is in there. 🫢

πŸ”₯ SEE ALSO πŸ”₯

  • Kernel file ./drivers/gpu/drm/i915/gem/i915_gem_internal.c β€” go read the source, iykyk πŸ“–

that's the whole page, bestie! and for the cute sign-off: this all came out of ./drivers/gpu/drm/i915/gem, dated October 2026 β€” iconic, on time, ate. πŸŒˆβ­πŸ’œ

πŸ“¦ where this page comes from