Re: [RFC][PATCH] ftrace: Add internal recursive checks

From: Steven Rostedt
Date: Wed May 25 2011 - 16:23:37 EST


On Wed, 2011-05-25 at 20:57 +0200, Thomas Gleixner wrote:
> On Wed, 25 May 2011, Steven Rostedt wrote:
> > +
> > + /* Only current can touch these values */
> > +#define trace_recursion_inc() (current)->trace_recursion++
> > +#define trace_recursion_dec() (current)->trace_recursion--
> > + /* Ring buffer has the 10 LSB bits to count */
> > +#define trace_recursion_buffer() ((current)->trace_recursion & 0x3ff)
> > +#define TRACE_INTERNAL_BIT (1<<11)
> > +#define TRACE_GLOBAL_BIT (1<<12)
> > +#define trace_recursion_set(bit) (current)->trace_recursion |= (bit)
> > +#define trace_recursion_clear(bit) (current)->trace_recursion &= ~(bit)
> > +#define trace_recursion_test(bit) ((current)->trace_recursion & (bit))
> > +
> > #endif /* CONFIG_TRACING */
>
> Bah, these are only used in kernel/trace/. So can you please add them
> to a kernel/trace local header file instead of cramming it mindlessly
> into task_struct just because you're lazy?

Actually the lazy thing to do was to include it only in
kernel/trace/trace.h BUT...

Any user of the function tracer (callbacks) may need to do the same
thing, because the callbacks could be called without going though the
list lookup and may need their own bit set.

But that said, I'll move these over to include/linux/ftrace.h as that is
probably the better location for it.

-- Steve


--
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/