drm/i915/selftests: Destroy partial tiling vma after use
authorChris Wilson <chris@chris-wilson.co.uk>
Fri, 6 Jul 2018 06:53:07 +0000 (07:53 +0100)
committerChris Wilson <chris@chris-wilson.co.uk>
Fri, 6 Jul 2018 10:24:00 +0000 (11:24 +0100)
As we keep VMA around until the object is destroyed, when testing
partial tiling we instantiate many, many VMA (as the object is huge
allowing for many different partial regions). We test elsewhere our
handling of populating large objects with a full set of VMA and checking
we can retrieve them afterwards, but in this test we incur the cost of
flushing all VMA after every GTT write, dramatically slowing down the
test.

References: https://bugs.freedesktop.org/show_bug.cgi?id=107130
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Reviewed-by: Matthew Auld <matthew.auld@intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20180706065332.15214-2-chris@chris-wilson.co.uk
drivers/gpu/drm/i915/selftests/i915_gem_object.c

index 8851532..232e5cc 100644 (file)
@@ -288,6 +288,8 @@ static int check_partial_mapping(struct drm_i915_gem_object *obj,
                kunmap(p);
                if (err)
                        return err;
+
+               i915_vma_destroy(vma);
        }
 
        return 0;