[igt-dev] [PATCH i-g-t] i915/gem_create: Show number of pages cleared
Chris Wilson
chris at chris-wilson.co.uk
Tue Jul 2 18:58:26 UTC 2019
Just a little bit of feedback at the end of an otherwise quiet 20s.
Signed-off-by: Chris Wilson <chris at chris-wilson.co.uk>
---
tests/i915/gem_create.c | 15 ++++++++++++---
1 file changed, 12 insertions(+), 3 deletions(-)
diff --git a/tests/i915/gem_create.c b/tests/i915/gem_create.c
index 9008cd8a2..aed7d1cec 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)
--
2.20.1
More information about the igt-dev
mailing list