summaryrefslogtreecommitdiff
path: root/tests/kms_cursor_legacy.c
diff options
context:
space:
mode:
authorChris Wilson <chris@chris-wilson.co.uk>2016-05-24 16:24:15 +0100
committerChris Wilson <chris@chris-wilson.co.uk>2016-05-24 16:43:31 +0100
commitc74e07121085bb9d1957e8e8795a2464e43bd592 (patch)
treebecb7d01fd16007530ddd33cf645e4a854635a11 /tests/kms_cursor_legacy.c
parentdab6b6b62dce6baf041ea5387af197626737c8a2 (diff)
igt/kms_cursor_legacy: Show basic stats of iterations per child
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Diffstat (limited to 'tests/kms_cursor_legacy.c')
-rw-r--r--tests/kms_cursor_legacy.c27
1 files changed, 26 insertions, 1 deletions
diff --git a/tests/kms_cursor_legacy.c b/tests/kms_cursor_legacy.c
index aff3ff55..de63dac9 100644
--- a/tests/kms_cursor_legacy.c
+++ b/tests/kms_cursor_legacy.c
@@ -26,6 +26,7 @@
#include <sched.h>
#include "igt.h"
+#include "igt_stats.h"
IGT_TEST_DESCRIPTION("Stress legacy cursor ioctl");
@@ -48,8 +49,12 @@ static void stress(struct data *data,
{
drmModeRes *r;
struct drm_mode_cursor arg;
+ uint64_t *results;
int n;
+ results = mmap(NULL, 4096, PROT_WRITE, MAP_SHARED | MAP_ANON, -1, 0);
+ igt_assert(results != MAP_FAILED);
+
r = drmModeGetResources(data->fd);
igt_assert(r);
@@ -82,12 +87,32 @@ static void stress(struct data *data,
count++;
}
- igt_info("[%d] count=%lu\n", child, count);
+ igt_debug("[%d] count=%lu\n", child, count);
+ results[child] = count;
}
igt_waitchildren();
+ if (num_children > 1) {
+ igt_stats_t stats;
+
+ igt_stats_init_with_size(&stats, num_children);
+ results[num_children] = 0;
+ for (int child = 0; child < num_children; child++) {
+ igt_stats_push(&stats, results[child]);
+ results[num_children] += results[child];
+ }
+ igt_info("Total updates %llu (median of %d processes is %.2f)\n",
+ (long long)results[num_children],
+ num_children,
+ igt_stats_get_median(&stats));
+ igt_stats_fini(&stats);
+ } else {
+ igt_info("Total updates %llu\n", (long long)results[0]);
+ }
+
gem_close(data->fd, arg.handle);
drmModeFreeResources(r);
+ munmap(results, 4096);
}
igt_main