It was observed that allocating large objects via i915 driver (igt-gpu-tools/tests/gem_exec_big/single) the folios and their pages were not handled properly leading to buffer corruptions during relocations. Furthermore, using iommu driver in this context would leave residual mappings in memory that could not be released, hogging available RAM even after the process ended.
Krzysztof Karas (3): drivers/iommu: Unroll unsuccessful mapping drm/i915/gem: split shared memory allocation table logic drm/i915/shmem: Count mapped pages in a folio drivers/gpu/drm/i915/gem/i915_gem_shmem.c | 191 +++++++++++++--------- drivers/iommu/dma-iommu.c | 10 +- 2 files changed, 125 insertions(+), 76 deletions(-) -- 2.34.1
