diff mbox

[02/27] drm/i915/selftests: Destroy partial tiling vma after use

Message ID 20180706065332.15214-2-chris@chris-wilson.co.uk (mailing list archive)
State New, archived
Headers show

Commit Message

Chris Wilson July 6, 2018, 6:53 a.m. UTC
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>
---
 drivers/gpu/drm/i915/selftests/i915_gem_object.c | 2 ++
 1 file changed, 2 insertions(+)

Comments

Matthew Auld July 6, 2018, 8:52 a.m. UTC | #1
On 6 July 2018 at 07:53, Chris Wilson <chris@chris-wilson.co.uk> wrote:
> 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>
diff mbox

Patch

diff --git a/drivers/gpu/drm/i915/selftests/i915_gem_object.c b/drivers/gpu/drm/i915/selftests/i915_gem_object.c
index 885153268968..232e5ccf1852 100644
--- a/drivers/gpu/drm/i915/selftests/i915_gem_object.c
+++ b/drivers/gpu/drm/i915/selftests/i915_gem_object.c
@@ -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;