tests/gem_fence_trash: some retuning
authorDaniel Vetter <daniel.vetter@ffwll.ch>
Sat, 15 Oct 2011 11:46:19 +0000 (13:46 +0200)
committerDaniel Vetter <daniel.vetter@ffwll.ch>
Sat, 15 Oct 2011 11:46:19 +0000 (13:46 +0200)
We actually want to test lru behaviour, so do a bit of work with
the fence before yielding to the next thread (we use twice as many
fences as there are, so yielding always is pretty bad, no matter how
clever our fence stealing).

Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
tests/gem_fence_thrash.c

index 8f2203c..8ed4e08 100644 (file)
@@ -44,7 +44,7 @@
 #include "i915_drm.h"
 #include "drmtest.h"
 
-#define OBJECT_SIZE (1024*1024) /* restricted to 1MiB alignment on i915 fences */
+#define OBJECT_SIZE (128*1024) /* restricted to 1MiB alignment on i915 fences */
 
 /* Before introduction of the LRU list for fences, allocation of a fence for a page
  * fault would use the first inactive fence (i.e. in preference one with no outstanding
@@ -102,17 +102,15 @@ static void *
 bo_copy (void *_arg)
 {
        int fd = *(int *)_arg;
-       int offset = 0, n;
+       int n;
        char *a, *b;
 
        a = bo_create (fd);
        b = bo_create (fd);
 
-       for (n = 0; n < OBJECT_SIZE; n++) {
-               memcpy (a + offset, b + offset, 1);
+       for (n = 0; n < 1000; n++) {
+               memcpy (a, b, OBJECT_SIZE);
                pthread_yield ();
-               offset += 4097;
-               offset %= OBJECT_SIZE;
        }
 
        return NULL;