Re: [PATCH i-g-t 2/4] gem_create: Test huge object creation as a basic test

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

 




On 30/03/2017 18:22, Chris Wilson wrote:
On Thu, Mar 30, 2017 at 05:58:07PM +0100, Tvrtko Ursulin wrote:
From: Tvrtko Ursulin <tvrtko.ursulin@xxxxxxxxx>

It is hard to imagine a more basic test than this one.

Also removed the skip on simulation since I don't know why
would that be needed here.

Signed-off-by: Tvrtko Ursulin <tvrtko.ursulin@xxxxxxxxx>
---
 tests/gem_create.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/tests/gem_create.c b/tests/gem_create.c
index de7b82094545..f687b7b40be4 100644
--- a/tests/gem_create.c
+++ b/tests/gem_create.c
@@ -44,6 +44,7 @@
 #include <sys/stat.h>
 #include <sys/time.h>
 #include <getopt.h>
+#include <limits.h>

 #include <drm.h>

@@ -95,10 +96,13 @@ static void invalid_flag_test(int fd)

 static void invalid_size_test(int fd)
 {
-	int handle;
+	uint32_t handle;

 	handle = __gem_create(fd, 0);
 	igt_assert(!handle);
+
+	handle = __gem_create(fd, INT_MAX * 4096UL + 1);

Why is that an invalid size? Invalid huge in terms of API might arguably
be 1<<virtual_bits + 1, but otherwise our only limitation is that it
has to be >0 and page aligned.

Because of the comment above the WARN I am removing in "drm/i915: Remove user triggerable WARN from i915_gem_object_create". We cannot support larger ones with the combination of sg_table data types and how we use them (unsigned int nents).

/* Only multiples of page size (4096) are allowed. Check all likely
 * misalignments from pot boundaries to check validity and possibility
 * of incorrect overflow.
 */
 for (int order = 0; order < 64; order++) {
 	uint64_t size = (uint64_t)1 << order;
	igt_assert(!__gem_create(fd, size - 1));
	igt_assert(!__gem_create(fd, size + 1));
	if (order < 12)
		igt_assert(!__gem_create(fd, size + 1));
}

Still enshrines knowlege of PAGE_SIZE into the ABI. Meh.

We round up for the user transparently which I am actually making the other subtest in this file test in a later patch.

Regards,

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




[Index of Archives]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]
  Powered by Linux