Vaibhav Nagarnaik 4f271a2a60 tracing: Add a proc file to stop tracing and free buffer
The proc file entry buffer_size_kb is used to set the size of tracing
buffer. The memory to expand the buffer size is kernel memory. Consider
a use case where tracing is handled by a user space utility, which acts
as a gate keeper for tracing requests. In an OOM condition, tracing is
considered a low priority task and if the utility gets killed the ring
buffer memory cannot be released back to the kernel.

This patch adds a proc file called "free_buffer" whose purpose is to
stop tracing and free up the ring buffer when it is closed.

The user space process can then set the desired size in buffer_size_kb
file and open the fd to the "free_buffer" file. Under OOM condition, if
the process gets killed, the kernel closes the file descriptor. The
release handler stops the tracing and releases the kernel memory
automatically.

Cc: Ingo Molnar <mingo@redhat.com>
Cc: Frederic Weisbecker <fweisbec@gmail.com>
Cc: Michael Rubin <mrubin@google.com>
Cc: David Sharp <dhsharp@google.com>
Signed-off-by: Vaibhav Nagarnaik <vnagarnaik@google.com>
Link: http://lkml.kernel.org/r/1308012717-11148-1-git-send-email-vnagarnaik@google.com
Signed-off-by: Steven Rostedt <rostedt@goodmis.org>
2011-06-14 22:48:37 -04:00
..
2011-03-31 11:26:23 -03:00
2010-08-09 16:48:42 -04:00
2011-03-31 11:26:23 -03:00
2011-03-14 09:15:23 -04:00
2010-10-30 01:42:19 -04:00
2011-05-19 18:51:57 +10:00
2011-05-26 17:12:34 -07:00
2011-03-31 11:26:23 -03:00
2011-05-29 11:32:28 -07:00
2011-05-17 23:19:17 +02:00
2010-10-01 10:50:58 -07:00
2011-05-24 22:55:24 +10:00
2011-03-31 11:26:23 -03:00
2011-05-26 17:12:34 -07:00
2011-05-26 17:12:34 -07:00
2011-03-31 11:26:23 -03:00
2011-04-18 10:35:30 -07:00
2011-05-24 12:10:51 +02:00
2011-05-20 12:50:29 -07:00
2011-05-31 10:01:48 +02:00
2011-05-31 10:01:48 +02:00
2011-03-31 11:26:23 -03:00
2011-04-24 13:18:38 +02:00
2011-03-23 19:46:51 -07:00
2011-03-31 11:26:23 -03:00
2011-03-31 11:26:23 -03:00