| AUTHOR = "David Sharp <dhsharp@google.com>" |
| NAME = "Tracing microbenchmark" |
| TIME = "SHORT" |
| TEST_CATEGORY = "Benchmark" |
| TEST_CLASS = "Kernel" |
| TEST_TYPE = "client" |
| |
| DOC = """ |
| A simple benchmark of kernel tracers such as ftrace. Enables tracepoints in |
| sys_getuid and makes 100,000 calls to getuid with tracing on and off to measure |
| the overhead of enabling tracing. The intent for this benchmark is to not |
| overflow the ring buffer, so the buffer is generously sized. |
| |
| |
| tracer: tracepoint enabled |
| ------ |
| off: n/a |
| ftrace: syscalls:sys_enter_getuid |
| |
| Args: |
| tracer: see table above. |
| buffer_size_kb: Set the tracing ring buffer to this size (per-cpu). |
| calls: Set the number of calls to make to getuid. |
| """ |
| |
| |
| job.run_test('tracing_microbenchmark', tracer='off', tag='off', iterations=10) |
| job.run_test('tracing_microbenchmark', tracer='ftrace', tag='ftrace', iterations=10) |