For those not yet familiar with GEM, the Graphics Execution Manager
, that Intel's open-source Linux graphics driver uses for in-kernel memory management, here's a brief guide.
While GEM has been in use by the Intel Linux graphics driver for about four years after the Intel developers no longer wished to pursue using TTM within their DRM driver, Daniel Vetter just wrote today a "i915/GEM Crashcourse."
GEM essentially deals with graphics buffer objects (which can contain textures, renderbuffers, shaders or all kinds of other state objects and data used by the gpu) and how to run a given workload on the gpu, commonly called command submission (CS), but in the i915.ko driver done with the execbuf ioctl (since the gpu commands themselves reside in a buffer object on Intel hardware).
Read the rest on Daniel's blog