Re: [RFC PATCH i-g-t v4 4/4] tests/gem_ctx_shared: Align objects using minimum GTT alignment

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Thu, Oct 31, 2019 at 04:28:57PM +0100, Janusz Krzysztofik wrote:
exec-shared-gtt-* subtests use hardcoded values for object size and
softpin offset, based on 4kB GTT alignment assumption.  That may result
in those subtests failing when run on future backing stores with
possibly larger minimum page sizes.

Replace hardcoded constants with values calculated from minimum GTT
alignment of actual backing store the test is running on.

v2: Update helper name, use 'minimum GTT alignment' term across the
   change, adjust variable name.

Signed-off-by: Janusz Krzysztofik <janusz.krzysztofik@xxxxxxxxxxxxxxx>
Cc: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx>
---
tests/i915/gem_ctx_shared.c | 6 ++++--
1 file changed, 4 insertions(+), 2 deletions(-)

diff --git a/tests/i915/gem_ctx_shared.c b/tests/i915/gem_ctx_shared.c
index 6d8cbcce..1e9c7f78 100644
--- a/tests/i915/gem_ctx_shared.c
+++ b/tests/i915/gem_ctx_shared.c
@@ -195,6 +195,7 @@ static void exec_shared_gtt(int i915, unsigned int ring)
	uint32_t scratch, *s;
	uint32_t batch, cs[16];
	uint64_t offset;
+	uint64_t alignment;
	int i;

	gem_require_ring(i915, ring);
@@ -203,7 +204,8 @@ static void exec_shared_gtt(int i915, unsigned int ring)
	clone = gem_context_clone(i915, 0, I915_CONTEXT_CLONE_VM, 0);

	/* Find a hole big enough for both objects later */
-	scratch = gem_create(i915, 16384);
+	alignment = 2 * gem_gtt_min_alignment(i915);
+	scratch = gem_create(i915, 2 * alignment);
	gem_write(i915, scratch, 0, &bbe, sizeof(bbe));
	obj.handle = scratch;
	gem_execbuf(i915, &execbuf);
@@ -246,7 +248,7 @@ static void exec_shared_gtt(int i915, unsigned int ring)
	gem_write(i915, batch, 0, cs, sizeof(cs));

	obj.handle = batch;
-	obj.offset += 8192; /* make sure we don't cause an eviction! */
+	obj.offset += alignment; /* make sure we don't cause an eviction! */
	execbuf.rsvd1 = clone;
	if (gen > 3 && gen < 6)
		execbuf.flags |= I915_EXEC_SECURE;
--
2.21.0

Looks good to me.

Vanshi

_______________________________________________
Intel-gfx mailing list
Intel-gfx@xxxxxxxxxxxxxxxxxxxxx
https://lists.freedesktop.org/mailman/listinfo/intel-gfx




[Index of Archives]     [AMD Graphics]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux