[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <1311962463.21143.70.camel@gandalf.stny.rr.com>
Date: Fri, 29 Jul 2011 14:01:03 -0400
From: Steven Rostedt <rostedt@...dmis.org>
To: Vaibhav Nagarnaik <vnagarnaik@...gle.com>
Cc: Frederic Weisbecker <fweisbec@...il.com>,
Ingo Molnar <mingo@...hat.com>,
Michael Rubin <mrubin@...gle.com>,
David Sharp <dhsharp@...gle.com>, linux-kernel@...r.kernel.org
Subject: Re: [PATCH 1/5] trace: Add a new readonly entry to report total
buffer size
On Tue, 2011-07-26 at 15:59 -0700, Vaibhav Nagarnaik wrote:
> The current file "buffer_size_kb" reports the size of per-cpu buffer and
> not the overall memory allocated which could be misleading. A new file
> "buffer_total_size_kb" adds up all the enabled CPU buffer sizes and
> reports it. This is only a readonly entry.
>
> Signed-off-by: Vaibhav Nagarnaik <vnagarnaik@...gle.com>
> ---
> kernel/trace/trace.c | 27 +++++++++++++++++++++++++++
> 1 files changed, 27 insertions(+), 0 deletions(-)
>
> diff --git a/kernel/trace/trace.c b/kernel/trace/trace.c
> index e5df02c..ce57c55 100644
> --- a/kernel/trace/trace.c
> +++ b/kernel/trace/trace.c
> @@ -3569,6 +3569,24 @@ tracing_entries_write(struct file *filp, const char __user *ubuf,
> }
>
> static ssize_t
> +tracing_total_entries_read(struct file *filp, char __user *ubuf,
> + size_t cnt, loff_t *ppos)
> +{
> + struct trace_array *tr = filp->private_data;
> + char buf[64];
> + int r, cpu;
> + unsigned long size = 0;
> +
> + mutex_lock(&trace_types_lock);
> + for_each_tracing_cpu(cpu)
> + size += tr->entries >> 10;
Could you make this consistent with buffer_size_kb as well. That is, if
the buffer is "shrunk", could you have the expanded size printed as
well.
Thanks,
-- Steve
> + mutex_unlock(&trace_types_lock);
> +
> + r = sprintf(buf, "%lu\n", size);
> + return simple_read_from_buffer(ubuf, cnt, ppos, buf, r);
> +}
> +
> +static ssize_t
> tracing_free_buffer_write(struct file *filp, const char __user *ubuf,
> size_t cnt, loff_t *ppos)
> {
> @@ -3739,6 +3757,12 @@ static const struct file_operations tracing_entries_fops = {
> .llseek = generic_file_llseek,
> };
>
> +static const struct file_operations tracing_total_entries_fops = {
> + .open = tracing_open_generic,
> + .read = tracing_total_entries_read,
> + .llseek = generic_file_llseek,
> +};
> +
> static const struct file_operations tracing_free_buffer_fops = {
> .write = tracing_free_buffer_write,
> .release = tracing_free_buffer_release,
> @@ -4450,6 +4474,9 @@ static __init int tracer_init_debugfs(void)
> trace_create_file("buffer_size_kb", 0644, d_tracer,
> &global_trace, &tracing_entries_fops);
>
> + trace_create_file("buffer_total_size_kb", 0444, d_tracer,
> + &global_trace, &tracing_total_entries_fops);
> +
> trace_create_file("free_buffer", 0644, d_tracer,
> &global_trace, &tracing_free_buffer_fops);
>
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists