Re: [PATCH 3/4] tracing: Add stack_tracer_disable/enable() functions

From: Paul E. McKenney
Date: Thu Apr 06 2017 - 18:08:42 EST


On Thu, Apr 06, 2017 at 05:23:48PM -0400, Steven Rostedt wrote:
> On Thu, 6 Apr 2017 13:21:17 -0700
> "Paul E. McKenney" <paulmck@xxxxxxxxxxxxxxxxxx> wrote:
>
> > > My worry is that we add another caller that doesn't disable interrupts
> > > or preemption.
> > >
> > > I could add a __stack_trace_disable() that skips the disabling of
> > > preemption, as the "__" usually denotes the call is "special".
> >
> > Given that interrupts are disabled at that point, and given also that
> > NMI skips stack tracing if growth is required, could we just leave
> > out the stack_tracer_disable() and stack_tracer_enable()?
>
> There may be other use cases. Hmm, maybe I'll just have it do a check
> to make sure preemption is disabled. Something like:
>
> if (IS_ENABLED(CONFIG_DEBUG_PREEMPT))
> WARN_ON_ONCE(!preempt_count());

This in the include/linux/ftrace.h file so that it can be inlined?
That makes sense to me.

Thanx, Paul