summaryrefslogtreecommitdiff
path: root/benchmarks/gem_exec_trace.c
AgeCommit message (Collapse)Author
2018-02-07lib: Move __gem_context_create to common ioctl wrapper library.Antonio Argenziano
This patch adds a context creation ioctl wrapper that returns the error for the caller to consume. Multiple tests that implemented this already, have been changed to use the new library function. v2: - Add gem_require_contexts() to check for contexts support (Chris) v3: - Add gem_has_contexts to check for contexts support and change gem_require_contexts to skip if contests support is not available. (Chris) v4: - Cosmetic changes and use lib function in gem_ctx_create where possible. (Michal) v5: - Use gem_contexts_require() in tests and fixtures. (Chris) Signed-off-by: Antonio Argenziano <antonio.argenziano@intel.com> Cc: Chris Wilson <chris@chris-wilson.co.uk> Cc: Michał Winiarski <michal.winiarski@intel.com> Reviewed-by: Michał Winiarski <michal.winiarski@intel.com> Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2017-03-29benchmarks/gem_exec_trace: Randomise batch durationChris Wilson
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2017-03-29benchmarks/gem_exec_trace: Calibrate dummy workloadChris Wilson
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2017-03-28benchmarks/gem_exec_trace: Use a constant delayChris Wilson
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2017-03-28benchmarks/gem_exec_trace: Include client wait pointsChris Wilson
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2017-03-28benchmarks/gem_exec_trace: Enhanced multi-context captureChris Wilson
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2015-09-11convert drm_open_any*() calls to drm_open_driver*(DRIVER_INTEL) calls with cocciMicah Fedke
Apply the new API to all call sites within the test suite using the following semantic patch: // Semantic patch for replacing drm_open_any* with arch-specific drm_open_driver* calls @@ identifier i =~ "\bdrm_open_any\b"; @@ - i() + drm_open_driver(DRIVER_INTEL) @@ identifier i =~ "\bdrm_open_any_master\b"; @@ - i() + drm_open_driver_master(DRIVER_INTEL) @@ identifier i =~ "\bdrm_open_any_render\b"; @@ - i() + drm_open_driver_render(DRIVER_INTEL) @@ identifier i =~ "\b__drm_open_any\b"; @@ - i() + __drm_open_driver(DRIVER_INTEL) Signed-off-by: Micah Fedke <micah.fedke@collabora.co.uk> Signed-off-by: Thomas Wood <thomas.wood@intel.com>
2015-08-14benchmark/gem_exec_trace: Inline everythingChris Wilson
Avoid the globals and make the dispatch one huge function and hope GCC works some magic. Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2015-08-10benchmarks/gem_exec_trace: Unmap each trace after replayChris Wilson
Just on the off chance someone is replaying a bunch of traces, remember to cleanup up. Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2015-08-10benchmarks/gem_exec_trace: Mark the mmap as sequentially readChris Wilson
Use madvise(MADV_SEQUENTIAL) to let the kernel optimise for our straightforward sequential read pattern. Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2015-08-10benchmarks/gem_exec_trace: Clear all new bo handlesChris Wilson
When reallocing the bo array, remember to set the new entries to 0. Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2015-08-09benchmarks: Record and replay calls to EXECBUFFER2Chris Wilson
This slightly idealises the behaviour of clients with the aim of measuring the kernel overhead of different workloads. This test focuses on the cost of relocating batchbuffers. A trace file is generated with an LD_PRELOAD intercept around execbuffer, which we can then replay at our leisure. The replay replaces the real buffers with a set of empty ones so the only thing that the kernel has to do is parse the relocations. but without a real workload we lose the impact of having to rewrite active buffers. Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>