From c9da0b5221cfd7dd2f22bbc5bcddf73d31214e2e Mon Sep 17 00:00:00 2001 From: Chris Wilson Date: Fri, 18 Dec 2015 14:45:03 +0000 Subject: benchmark: Measure of latency of producers -> consumers, gem_latency The goal is measure how long it takes for clients waiting on results to wakeup after a buffer completes, and in doing so ensure scalibilty of the kernel to large number of clients. We spawn a number of producers. Each producer submits a busyload to the system and records in the GPU the BCS timestamp of when the batch completes. Then each producer spawns a number of waiters, who wait upon the batch completion and measure the current BCS timestamp register and compare against the recorded value. By varying the number of producers and consumers, we can study different aspects of the design, in particular how many wakeups the kernel does for each interrupt (end of batch). The more wakeups on each batch, the longer it takes for any one client to finish. Signed-off-by: Chris Wilson --- benchmarks/Makefile.am | 3 +++ 1 file changed, 3 insertions(+) (limited to 'benchmarks/Makefile.am') diff --git a/benchmarks/Makefile.am b/benchmarks/Makefile.am index 44408e22..9b2d08df 100644 --- a/benchmarks/Makefile.am +++ b/benchmarks/Makefile.am @@ -12,4 +12,7 @@ gem_exec_tracer_la_LIBADD = -ldl gem_wait_CFLAGS = $(AM_CFLAGS) $(THREAD_CFLAGS) gem_wait_LDADD = $(LDADD) -lpthread +gem_latency_CFLAGS = $(AM_CFLAGS) $(THREAD_CFLAGS) +gem_latency_LDADD = $(LDADD) -lpthread + EXTRA_DIST=README -- cgit v1.2.3