Re: [PATCH 03/15] tracing: Add a free on close control mechanism forbuffer_size_kb

From: Ingo Molnar
Date: Mon Jun 13 2011 - 07:49:26 EST



* Steven Rostedt <rostedt@xxxxxxxxxxx> wrote:

> On Mon, 2011-06-13 at 12:12 +0200, Ingo Molnar wrote:
> > * Steven Rostedt <rostedt@xxxxxxxxxxx> wrote:
> >
> > > + switch (cmd) {
> > > + case TRACE_RINGBUF_FREE_ON_CLOSE: {
> > > + info->free_buffer_on_close = !!arg;
> > > + ret = 0;
> > > + break;
> > > + }
> > > }
> >
> > that doesn't look very tidy.
> >
> > > @@ -3635,9 +3700,12 @@ static const struct file_operations tracing_pipe_fops = {
> > > };
> > >
> > > static const struct file_operations tracing_entries_fops = {
> > > - .open = tracing_open_generic,
> > > + .open = tracing_entries_open,
> > > .read = tracing_entries_read,
> > > .write = tracing_entries_write,
> > > + .unlocked_ioctl = tracing_entries_ioctl,
> > > + .compat_ioctl = tracing_entries_ioctl,
> >
> > i don't like it at all that you are adding to the ftrace ABI here.
> > The *only* premise of the whole /debug/tracing/ muck was to allow it
> > to be human-parseable and scripted - an ioctl is clearly outside that
> > scope. Instead of increasing the mess in /debug/tracing/ we want
> > clean tracing done via the perf ABI ...
>
> Vaibhav originally suggested adding a "buffer_free" file that you
> could write into and cause it to free the buffer. It would do this
> on the release so you could also have an app (like Google needs) to
> open this file and if the app dies, it will automatically free the
> buffer closing it.
>
> https://lkml.org/lkml/2011/3/17/366
>
> I didn't really like adding another file to the debugfs system, and
> recommended the ioctl. It seemed like a nice "unix" fit. But if you
> want to go back to the Vaibhav's original method, which will stay
> in the frame of "human-parseable and scripted". We could do that.

Yes, i think so - the *only* point of the /debug/tracing/ muck is
that it's scriptable and human parseable. If Google wants to use it
for more than that then they should help us enhance the perf syscall
ABI for tracing ...

Thanks,

Ingo
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/