Messages in this thread | | | Date | Sat, 20 Dec 2008 00:34:43 +0100 | From | Ingo Molnar <> | Subject | Re: ftrace behaviour (was: [PATCH] ftrace: introduce tracing_reset_online_cpus() helper) |
| |
* Steven Rostedt <rostedt@goodmis.org> wrote:
> > hm, that ftrace behavior is silly. Steve, i think i mentioned this a > > long time ago and i thought it got fixed? Changing the ring buffer > > size is a slow op, it should include an implicit reset and should be > > plug-and-play with no dependencies of having to stop the trace or > > something. > > I think you are referencing a different issue, where we passed in a NULL > buffer pointer and expected it to be resized. I still think that should > not return a success, but that's a different issue altogether. > > Before the ring buffer, the only safe way to resize the buffer was to > switch the tracer to none (aka nop). Now, the only thing you need to do > is disable tracing. This is probably a good thing since it forces the > user to stop tracing, otherwise the tracing will stop during the resize > anyway, and the user will wonder why they lost data.
uhm, the user just resized the buffer - he will not be wondering about any impact.
And that's why we should do a full reset: that makes it abundantly clear what happened. We shouldnt pretend to be able to do something (seemless, lightweight buffer size change with no visible impact) which we obviously cannot reliably offer.
Buffer resize is a slow op, and everyone realizes that. Most people will in fact say: "hey, I didnt even need to reboot to change the trace buffer size, cool!".
The current "only allow resizing while tracing is disabled" is an unintuitive and counterproductive restriction - a borderline bug in fact.
Ingo
| |