aboutsummaryrefslogtreecommitdiffstats
path: root/kernel/trace/trace.c
diff options
context:
space:
mode:
authorSteven Rostedt <srostedt@redhat.com>2009-03-11 14:33:00 -0400
committerSteven Rostedt <srostedt@redhat.com>2009-03-11 22:15:24 -0400
commit1852fcce181faa237c010a3dbedb473cf9d4555f (patch)
tree863cd12b573fd36436e7fb042f9bd96a73a9f725 /kernel/trace/trace.c
parent73c5162aa362a543793f4a957c6c536dcbaa89ce (diff)
tracing: expand the ring buffers when an event is activated
To save memory, the tracer ring buffers are set to a minimum. The activating of a trace expands the ring buffer size. This patch adds this expanding, when an event is activated. Signed-off-by: Steven Rostedt <srostedt@redhat.com>
Diffstat (limited to 'kernel/trace/trace.c')
-rw-r--r--kernel/trace/trace.c20
1 files changed, 20 insertions, 0 deletions
diff --git a/kernel/trace/trace.c b/kernel/trace/trace.c
index 0c1dc1850858..35ee63ae4122 100644
--- a/kernel/trace/trace.c
+++ b/kernel/trace/trace.c
@@ -2357,6 +2357,26 @@ static int tracing_resize_ring_buffer(unsigned long size)
2357 return ret; 2357 return ret;
2358} 2358}
2359 2359
2360/**
2361 * tracing_update_buffers - used by tracing facility to expand ring buffers
2362 *
2363 * To save on memory when the tracing is never used on a system with it
2364 * configured in. The ring buffers are set to a minimum size. But once
2365 * a user starts to use the tracing facility, then they need to grow
2366 * to their default size.
2367 *
2368 * This function is to be called when a tracer is about to be used.
2369 */
2370int tracing_update_buffers(void)
2371{
2372 int ret = 0;
2373
2374 if (!ring_buffer_expanded)
2375 ret = tracing_resize_ring_buffer(trace_buf_size);
2376
2377 return ret;
2378}
2379
2360struct trace_option_dentry; 2380struct trace_option_dentry;
2361 2381
2362static struct trace_option_dentry * 2382static struct trace_option_dentry *