Messages in this thread | | | Date | Wed, 12 Nov 2008 18:37:45 -0800 | From | Andrew Morton <> | Subject | Re: [PATCH 1/1] ftrace: do not update max buffer with no users |
| |
On Wed, 12 Nov 2008 20:30:42 -0500 Steven Rostedt <rostedt@goodmis.org> wrote:
> Impact: only use max latency buffer when a user is configured > > Pekka reported a bug with the resizing of the buffers when only the > MMIO tracer was configured. The issue was, to save memory, the max > latency trace buffer was only initialized if a tracer that uses it > is configured in. > > What happened was that the max latency buffer was never initialized > when only the MMIO tracer was configurued. The MMIO tracer does not > use the max tracer, which kept it from being initialized. But the > resize code still tried to resize the max latency buffers, but because > they were never allocated, the resize code was passed a NULL pointer. > > This patch puts all of the max_tr (max tracer buffer) inside the > TRACER_MAX_TRACE config, to prevent any more errors in its use when > not configured. > > +#ifdef CONFIG_TRACER_MAX_TRACE > +#endif /* CONFIG_TRACER_MAX_TRACE */ > +#ifdef CONFIG_TRACER_MAX_TRACE > +#endif > +#ifdef CONFIG_TRACER_MAX_TRACE > +#endif > +#ifdef CONFIG_TRACER_MAX_TRACE > +#endif > +#ifdef CONFIG_TRACER_MAX_TRACE > +#endif > +#ifdef CONFIG_TRACER_MAX_TRACE > +#endif > +#ifdef CONFIG_TRACER_MAX_TRACE > +#endif
hey.
This sort of thing:
+#ifdef CONFIG_TRACER_MAX_TRACE if (current_trace && current_trace->print_max) iter->tr = &max_tr; else +#endif iter->tr = inode->i_private;
is particularly regrettable.
| |