summaryrefslogtreecommitdiff
path: root/tests/i915/gem_create.c
diff options
context:
space:
mode:
authorChris Wilson <chris@chris-wilson.co.uk>2019-07-02 19:55:04 +0100
committerChris Wilson <chris@chris-wilson.co.uk>2019-07-04 22:28:50 +0100
commita20ce79ef02a30bfa73abb5d08a50cc739c62585 (patch)
tree0b4bce3649cb5d3ffc983515578c5c51b6d9ac88 /tests/i915/gem_create.c
parent9f45069f9b5136d07e053d8086e8df51e14332eb (diff)
i915/gem_create: Show number of pages cleared
Just a little bit of feedback at the end of an otherwise quiet 20s. Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> Reviewed-by: Matthew Auld <matthew.auld@intel.com>
Diffstat (limited to 'tests/i915/gem_create.c')
-rw-r--r--tests/i915/gem_create.c15
1 files changed, 12 insertions, 3 deletions
diff --git a/tests/i915/gem_create.c b/tests/i915/gem_create.c
index 9008cd8a..aed7d1ce 100644
--- a/tests/i915/gem_create.c
+++ b/tests/i915/gem_create.c
@@ -187,6 +187,7 @@ struct thread_clear {
static void *thread_clear(void *data)
{
struct thread_clear *arg = data;
+ unsigned long checked = 0;
int i915 = arg->i915;
igt_until_timeout(arg->timeout) {
@@ -209,11 +210,12 @@ static void *thread_clear(void *data)
igt_assert_eq_u64(x, 0);
}
gem_close(i915, create.handle);
+ checked += npages;
atomic_fetch_add(&arg->max, npages);
}
- return NULL;
+ return (void *)(uintptr_t)checked;
}
static void always_clear(int i915, int timeout)
@@ -224,12 +226,19 @@ static void always_clear(int i915, int timeout)
.max = intel_get_avail_ram_mb() << (20 - 12), /* in pages */
};
const int ncpus = sysconf(_SC_NPROCESSORS_ONLN);
+ unsigned long checked;
pthread_t thread[ncpus];
+ void *result;
for (int i = 0; i < ncpus; i++)
pthread_create(&thread[i], NULL, thread_clear, &arg);
- for (int i = 0; i < ncpus; i++)
- pthread_join(thread[i], NULL);
+
+ checked = 0;
+ for (int i = 0; i < ncpus; i++) {
+ pthread_join(thread[i], &result);
+ checked += (uintptr_t)result;
+ }
+ igt_info("Checked %'lu page allocations\n", checked);
}
static void size_update(int fd)