diff options
author | Bjoern Brandenburg <bbb@mpi-sws.org> | 2015-08-09 07:18:47 -0400 |
---|---|---|
committer | Bjoern Brandenburg <bbb@mpi-sws.org> | 2015-08-09 06:21:18 -0400 |
commit | 1921674066c4ccb534e357c69629e365be626e0e (patch) | |
tree | d8d6bdf12b6b71223a3afdea5561adc26458f7fd /litmus/Kconfig | |
parent | 8bee6550e07cd89133cbae0c7a6f6097a2011d58 (diff) |
Add schedule tracing support
This patch introduces the sched_trace infrastructure, which in
principle allows tracing the generated schedule. However, this patch
does not yet integrate the callbacks with the kernel.
Diffstat (limited to 'litmus/Kconfig')
-rw-r--r-- | litmus/Kconfig | 34 |
1 files changed, 34 insertions, 0 deletions
diff --git a/litmus/Kconfig b/litmus/Kconfig index e4624ee20adc..19211ac1320a 100644 --- a/litmus/Kconfig +++ b/litmus/Kconfig | |||
@@ -24,6 +24,40 @@ config FEATHER_TRACE | |||
24 | you still need to enable SCHED_TASK_TRACE and/or SCHED_OVERHEAD_TRACE to | 24 | you still need to enable SCHED_TASK_TRACE and/or SCHED_OVERHEAD_TRACE to |
25 | actually enable any events. | 25 | actually enable any events. |
26 | 26 | ||
27 | config SCHED_TASK_TRACE | ||
28 | bool "Trace real-time tasks" | ||
29 | depends on FEATHER_TRACE | ||
30 | default y | ||
31 | help | ||
32 | Include support for the sched_trace_XXX() tracing functions. This | ||
33 | allows the collection of real-time task events such as job | ||
34 | completions, job releases, early completions, etc. This results in a | ||
35 | small overhead in the scheduling code. Disable if the overhead is not | ||
36 | acceptable (e.g., benchmarking). | ||
37 | |||
38 | Say Yes for debugging. | ||
39 | Say No for overhead tracing. | ||
40 | |||
41 | config SCHED_TASK_TRACE_SHIFT | ||
42 | int "Buffer size for sched_trace_xxx() events" | ||
43 | depends on SCHED_TASK_TRACE | ||
44 | range 8 13 | ||
45 | default 9 | ||
46 | help | ||
47 | |||
48 | Select the buffer size of sched_trace_xxx() events as a power of two. | ||
49 | These buffers are statically allocated as per-CPU data. Each event | ||
50 | requires 24 bytes storage plus one additional flag byte. Too large | ||
51 | buffers can cause issues with the per-cpu allocator (and waste | ||
52 | memory). Too small buffers can cause scheduling events to be lost. The | ||
53 | "right" size is workload dependent and depends on the number of tasks, | ||
54 | each task's period, each task's number of suspensions, and how often | ||
55 | the buffer is flushed. | ||
56 | |||
57 | Examples: 12 => 4k events | ||
58 | 10 => 1k events | ||
59 | 8 => 512 events | ||
60 | |||
27 | config SCHED_OVERHEAD_TRACE | 61 | config SCHED_OVERHEAD_TRACE |
28 | bool "Record timestamps for overhead measurements" | 62 | bool "Record timestamps for overhead measurements" |
29 | depends on FEATHER_TRACE | 63 | depends on FEATHER_TRACE |