Future PPGTT [part 4] (Dynamic page table allocations, 64 bit address space, GPU “mirroring”, and yeah, something about relocs too)

GPU Mirroring

Preface GPU mirroring provides a mechanism to have the CPU and the GPU use the same virtual address for the same physical (or IOMMU) page. An immediate result of this is that relocations can be eliminated. There are a few derivative benefits from the removal of the relocation mechanism, but it really all boils down […]

Aliasing PPGTT [part 2]

real_appgtt

Overview Pictures are the right way to start. There is exactly one thing to get from the above drawing, everything else is just to make it as close to fact as possible. The aliasing PPGTT (aliases|shadows|mimics) the global GTT. The wordy overview Support for Per-process Graphics Translation Tables (PPGTT) debuted on Sandybridge (GEN6). The features […]