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>
#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
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;