i915_gem_ob...ate_internal(9)
π 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β thei915device, 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
- 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