Re: [PATCH i-g-t v5 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 Mon, Nov 04, 2019 at 06:13:30PM +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.
v3: Name the variable 'stride', not 'alignment', it better reflects
   its purpose (Chris).

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

diff --git a/tests/i915/gem_ctx_shared.c b/tests/i915/gem_ctx_shared.c
index f7852482..cb726b4d 100644
--- a/tests/i915/gem_ctx_shared.c
+++ b/tests/i915/gem_ctx_shared.c
@@ -41,6 +41,7 @@
#include "igt_rand.h"
#include "igt_vgem.h"
#include "sync_file.h"
+#include "i915/gem_gtt_topology.c"

#define LO 0
#define HI 1
@@ -195,6 +196,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 stride;
	int i;

	gem_require_ring(i915, ring);
@@ -203,7 +205,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);
+	stride = 2 * gem_gtt_min_alignment(i915);
+	scratch = gem_create(i915, 2 * stride);
	gem_write(i915, scratch, 0, &bbe, sizeof(bbe));
	obj.handle = scratch;
	gem_execbuf(i915, &execbuf);
@@ -246,7 +249,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 += stride; /* make sure we don't cause an eviction! */
	execbuf.rsvd1 = clone;
	if (gen > 3 && gen < 6)
		execbuf.flags |= I915_EXEC_SECURE;
--
2.21.0

Reviewed-by: Vanshidhar Konda <vanshidhar.r.konda@xxxxxxxxx>


_______________________________________________
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