tests/gem_userptr_benchmark: Benchmarking userptr surfaces and impact
authorTvrtko Ursulin <tvrtko.ursulin@intel.com>
Fri, 25 Apr 2014 14:42:20 +0000 (15:42 +0100)
committerDaniel Vetter <daniel.vetter@ffwll.ch>
Fri, 25 Apr 2014 15:48:49 +0000 (17:48 +0200)
commitd3057d7a1eba0c050f5d6d9674d56d1794b1f066
tree02124a079c699755cbd6f74e6c7f23fb4322a8d4
parenta3e97ddcbf53c99af3b0a25db9a055119d312116
tests/gem_userptr_benchmark: Benchmarking userptr surfaces and impact

This adds a small benchmark for the new userptr functionality.

Apart from basic surface creation and destruction, also tested is the
impact of having userptr surfaces in the process address space. Reason
for that is the impact of MMU notifiers on common address space
operations like munmap() which is per process.

v2:
  * Moved to benchmarks.
  * Added pointer read/write tests.
  * Changed output to say iterations per second instead of
    operations per second.
  * Multiply result by batch size for multi-create* tests
    for a more comparable number with create-destroy test.

v3:
  * Use ALIGN macro.
  * Catchup with big lib/ reorganization.
  * Removed unused code and one global variable.
  * Fixed up some warnings.

v4:
  * Fixed feature test, does not matter here but makes it
    consistent with gem_userptr_blits and clearer.

Signed-off-by: Tvrtko Ursulin <tvrtko.ursulin@intel.com>
Cc: Chris Wilson <chris@chris-wilson.co.uk>
Cc: Brad Volkin <bradley.d.volkin@intel.com>
Reviewed-by: Brad Volkin <bradley.d.volkin@intel.com>
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
benchmarks/.gitignore
benchmarks/Makefile.sources
benchmarks/gem_userptr_benchmark.c [new file with mode: 0644]