tests/gem_tiled_swapping: Don't needless crash on 32-bit systems
authorChris Wilson <chris@chris-wilson.co.uk>
Wed, 12 Dec 2012 13:56:09 +0000 (13:56 +0000)
committerChris Wilson <chris@chris-wilson.co.uk>
Wed, 12 Dec 2012 14:33:59 +0000 (14:33 +0000)
Only 32-bit of mmap address space, but with PAE we may be trying to
allocate more than 4 GiB of memory.

Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
tests/gem_tiled_swapping.c

index c04a3bc..14f5f40 100644 (file)
@@ -79,6 +79,9 @@ create_bo_and_fill(int fd)
 
        /* Fill the BO with dwords starting at start_val */
        data = gem_mmap(fd, handle, LINEAR_DWORDS, PROT_READ | PROT_WRITE);
+       if (data == NULL && errno == ENOSPC)
+               return 0;
+
        for (i = 0; i < WIDTH*HEIGHT; i++)
                data[i] = i;
        munmap(data, LINEAR_DWORDS);
@@ -117,8 +120,13 @@ main(int argc, char **argv)
                return 77;
        }
 
-       for (i = 0; i < count; i++)
+       for (i = 0; i < count; i++) {
                bo_handles[i] = create_bo_and_fill(fd);
+               if (bo_handles[i] == 0) {
+                       printf("insufficient address space\n");
+                       return 77;
+               }
+       }
 
        for (i = 0; i < count; i++)
                idx_arr[i] = i;