diff options
author | Bjoern Brandenburg <bbb@mpi-sws.org> | 2015-08-09 07:18:46 -0400 |
---|---|---|
committer | Bjoern Brandenburg <bbb@mpi-sws.org> | 2017-05-26 17:12:24 -0400 |
commit | f298dae81d90b00d47be0ccb94a47be1861b5bf1 (patch) | |
tree | 18d8e4da47f406521a11bee3a08403bd4bbed602 /litmus/Kconfig | |
parent | 561d64d1856868e056b7530cb08fd12a4043190a (diff) |
Add TRACE() debug tracing support
This patch adds the infrastructure for the TRACE() debug macro.
Conflicts:
kernel/printk.c
Diffstat (limited to 'litmus/Kconfig')
-rw-r--r-- | litmus/Kconfig | 53 |
1 files changed, 53 insertions, 0 deletions
diff --git a/litmus/Kconfig b/litmus/Kconfig index 0c7e06b922a1..e4624ee20adc 100644 --- a/litmus/Kconfig +++ b/litmus/Kconfig | |||
@@ -49,6 +49,59 @@ config SCHED_OVERHEAD_TRACE_SHIFT | |||
49 | 24 => 512 MB | 49 | 24 => 512 MB |
50 | 26 => 2G MB | 50 | 26 => 2G MB |
51 | 51 | ||
52 | config SCHED_DEBUG_TRACE | ||
53 | bool "TRACE() debugging" | ||
54 | default n | ||
55 | help | ||
56 | Include support for sched_trace_log_messageg(), which is used to | ||
57 | implement TRACE(). If disabled, no TRACE() messages will be included | ||
58 | in the kernel, and no overheads due to debugging statements will be | ||
59 | incurred by the scheduler. Disable if the overhead is not acceptable | ||
60 | (e.g. benchmarking). | ||
61 | |||
62 | Say Yes for debugging. | ||
63 | Say No for overhead tracing. | ||
64 | |||
65 | config SCHED_DEBUG_TRACE_SHIFT | ||
66 | int "Buffer size for TRACE() buffer" | ||
67 | depends on SCHED_DEBUG_TRACE | ||
68 | range 14 22 | ||
69 | default 18 | ||
70 | help | ||
71 | |||
72 | Select the amount of memory needed per for the TRACE() buffer, as a | ||
73 | power of two. The TRACE() buffer is global and statically allocated. If | ||
74 | the buffer is too small, there will be holes in the TRACE() log if the | ||
75 | buffer-flushing task is starved. | ||
76 | |||
77 | The default should be sufficient for most systems. Increase the buffer | ||
78 | size if the log contains holes. Reduce the buffer size when running on | ||
79 | a memory-constrained system. | ||
80 | |||
81 | Examples: 14 => 16KB | ||
82 | 18 => 256KB | ||
83 | 20 => 1MB | ||
84 | |||
85 | This buffer is exported to usespace using a misc device as | ||
86 | 'litmus/log'. On a system with default udev rules, a corresponding | ||
87 | character device node should be created at /dev/litmus/log. The buffer | ||
88 | can be flushed using cat, e.g., 'cat /dev/litmus/log > my_log_file.txt'. | ||
89 | |||
90 | config SCHED_DEBUG_TRACE_CALLER | ||
91 | bool "Include [function@file:line] tag in TRACE() log" | ||
92 | depends on SCHED_DEBUG_TRACE | ||
93 | default n | ||
94 | help | ||
95 | With this option enabled, TRACE() prepends | ||
96 | |||
97 | "[<function name>@<filename>:<line number>]" | ||
98 | |||
99 | to each message in the debug log. Enable this to aid in figuring out | ||
100 | what was called in which order. The downside is that it adds a lot of | ||
101 | clutter. | ||
102 | |||
103 | If unsure, say No. | ||
104 | |||
52 | endmenu | 105 | endmenu |
53 | 106 | ||
54 | endmenu | 107 | endmenu |