[igt-dev] [PATCH i-g-t 2/5] tests/i915/gem_create: Modify the page nonaligned tests

Ramalingam C ramalingam.c at intel.com
Mon Jan 27 17:02:02 UTC 2020


Considering that kernel returns the real memory size(page aligned)
allocated, "create-invalid-nonaligned" test is not needed anymore.
Hence removing them.

At "create-valid-nonaligned" test we are asserting the returned mem size
from kernel to be minimum page aligned and checking the write into padded
memory.

v2:
  added check for padded mem at "create-valid-nonaligned" [chris]

Signed-off-by: Ramalingam C <ramalingam.c at intel.com>
cc: Chris Wilson <chris at chris-wilson.co.uk>
Reviewed-by: Chris Wilson <chris at chris-wilson.co.uk>
---
 tests/i915/gem_create.c | 30 +++---------------------------
 1 file changed, 3 insertions(+), 27 deletions(-)

diff --git a/tests/i915/gem_create.c b/tests/i915/gem_create.c
index 8fc128dae6e2..0a0c4d5804a2 100644
--- a/tests/i915/gem_create.c
+++ b/tests/i915/gem_create.c
@@ -120,9 +120,8 @@ static void invalid_size_test(int fd)
 }
 
 /*
- * Creating an object with non-aligned size and trying to access it with an
- * offset, which is greater than the requested size but smaller than the
- * object's last page boundary. pwrite here must be successful.
+ * Creating an object with non-aligned size request and assert the buffer is
+ * page aligned. And test the write into the padded extra memory.
  */
 static void valid_nonaligned_size(int fd)
 {
@@ -132,33 +131,13 @@ static void valid_nonaligned_size(int fd)
 	char buf[PAGE_SIZE];
 
 	igt_assert_eq(create_ioctl(fd, &create), 0);
+	igt_assert(create.size >= PAGE_SIZE);
 
 	gem_write(fd, create.handle, PAGE_SIZE / 2, buf, PAGE_SIZE / 2);
 
 	gem_close(fd, create.handle);
 }
 
-/*
- * Creating an object with non-aligned size and trying to access it with an
- * offset, which is greater than the requested size and larger than the
- * object's last page boundary. pwrite here must fail.
- */
-static void invalid_nonaligned_size(int fd)
-{
-	struct drm_i915_gem_create create = {
-		.size = PAGE_SIZE / 2,
-	};
-	char buf[PAGE_SIZE];
-
-	igt_assert_eq(create_ioctl(fd, &create), 0);
-
-	/* This should fail. Hence cannot use gem_write. */
-	igt_assert(__gem_write(fd, create.handle,
-			       PAGE_SIZE / 2, buf, PAGE_SIZE));
-
-	gem_close(fd, create.handle);
-}
-
 static uint64_t atomic_compare_swap_u64(_Atomic(uint64_t) *ptr,
 					uint64_t oldval, uint64_t newval)
 {
@@ -307,9 +286,6 @@ igt_main
 	igt_subtest("create-valid-nonaligned")
 		valid_nonaligned_size(fd);
 
-	igt_subtest("create-invalid-nonaligned")
-		invalid_nonaligned_size(fd);
-
 	igt_subtest("create-size-update")
 		size_update(fd);
 
-- 
2.20.1



More information about the igt-dev mailing list