This series adds partial GGTT views and uses them from the GTT mmap fault handler for objects bigger than the whole aperture. This use case was earlier early detected and rejected completely, so no previous code paths are changed, only a new one is added. This allows to handle huge objects (compared to aperture size) through mmap from user land. And not only huge objects, but when objects are of regular size and aperture is shrinked due to virtualization (like with vGT). XenGT is the original and primary target for this initial partial GGTT view support, where programs fail due to the GGTT being extremely small, but payloads remain the same. Tiling is not supported yet. The gem_mmap_gtt suite passes without errors even when the mmap fault handler would be converted to unconditionally use partial views. Regards, Joonas v2: - Cleanups, and bump the activation treshold to only cover the code the code path that was previously early rejected. Joonas Lahtinen (5): drm/i915: Do not clear mappings beyond VMA size drm/i915: Do not make assumptions on GGTT VMA sizes drm/i915: Consider object pinned if any VMA is pinned drm/i915: Add a partial GGTT view type drm/i915: Use partial view in mmap fault handler drivers/gpu/drm/i915/i915_gem.c | 179 +++++++++++++++++++++++------------- drivers/gpu/drm/i915/i915_gem_gtt.c | 76 ++++++++++++++- drivers/gpu/drm/i915/i915_gem_gtt.h | 19 +++- 3 files changed, 204 insertions(+), 70 deletions(-) -- 1.9.3 _______________________________________________ Intel-gfx mailing list Intel-gfx@xxxxxxxxxxxxxxxxxxxxx http://lists.freedesktop.org/mailman/listinfo/intel-gfx