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.
v8: * Removed Assisted-by: LLM tags. Krzysztof Karas (6): drm/i915/shmem: Validate max_segment drm/i915/gem: Count mapped pages in a folio drm/i915/gem: Free sg table on failure to acquire second folio drm/i915/gem: Pull out size validation into a separate function drm/i915/gem: Read and shrink memory in a separate function drm/i915/gem: Remove iterator and use while loop drivers/gpu/drm/i915/gem/i915_gem_shmem.c | 163 ++++++++++++++-------- 1 file changed, 101 insertions(+), 62 deletions(-) -- 2.34.1
