[PATCH 2/3] powerpc/xmon: Disable and enable tracing command
Naveen N. Rao
naveen.n.rao at linux.vnet.ibm.com
Wed Aug 2 23:21:24 AEST 2017
On 2017/08/01 11:21AM, Breno Leitao wrote:
> Hi Naveen,
>
> On Tue, Aug 01, 2017 at 12:10:24PM +0530, Naveen N. Rao wrote:
> > On 2017/07/31 02:22PM, Breno Leitao wrote:
> > > If tracing is enabled and you get into xmon, the tracing buffer
> > > continues to be updated, causing possible loss of data due to buffer
> > > overflow and unnecessary tracing information coming from xmon functions.
> > >
> > > This patch adds a new option that allows the tracing to be disabled and
> > > re-enabled from inside xmon.
> >
> > How is this new option useful? In the next patch, you disable tracing by
> > default -- in what scenario do you expect to have to re-enable tracing
> > from within xmon?
>
> I see it being useful on two different scenarios:
>
> 1) You can reenable tracing if you want to call a function from xmon
> (with 'p'), or even for code stepping (with 's').
Hmm... those are just debugging aids, so I don't see why enabling the
function tracer helps, unless you're debugging the tracer itself..
>
> 2) You may also want to reenable tracing once you resume from xmon with
> 'zr'.
'zr' is for reboot, so not sure what you meant there...
If tracing was enabled before we went into xmon, I think that we should
just restore it by default.
>
> > > + case 'v':
> > > + if (tracing_is_on()) {
> > > + printk("Disabling tracing\n");
> > > + tracing_enabled = 0;
> > > + tracing_off();
> >
> > This only disables trace buffer updates - ftrace (and all its callbacks,
> > et al) remains active, which isn't desirable.
>
> Why isn't it desirable? In fact, I thought it would be *the* desirable
> function to call, since it does not do a lot of stuff, as disabling
> tracing, in xmon mode, but, just disable the tracing buffer to be updated.
>
> Since we are in xmon, we are in a very bad state, and something went
> very wrong. Disabling the whole tracing might not be what we want to do
> in this scenario, since it can hit the broken subsystem causing xmon to
> fail.
>
> For bad state scenario, I understand that it is desirable to be less
> instrusive as possible, and tracing_off() does exactly it.
My concern was that we will still go through all the callbacks and I was
wondering if we could get rid of that. However, I don't see any easy way
to do that with the current ftrace infrastructure.
>
> > Can you see if this works for you:
> > https://patchwork.ozlabs.org/patch/769611/
>
> Well, I understand that this patch solves a different issue, this does
> not reduce the tracing caused by function tracer after you got into into
> xmon.
>
> As for example, with your patch applied, I can see a lot of xmon
> functions polluting the tracing buffer as:
>
> 1:mon> dt
> [ 359.196593] Dumping ftrace buffer:
> [ 359.196689] ---------------------------------
> [ 359.196904] 1) | xmon_printf() {
> <110+ lines snipped>
> [ 359.197727] 1) + 22.930 us | }
> [ 359.199405] 1) | skipbl() {
> <50+ lines snipped>
> [ 359.225069] 1) + 23.750 us | }
>
>
> Since tracing continues to be enabled during xmon, these messages
> continue to show up. That is exactly what I am trying to avoid with this
> current patchset. Avoiding all xmon-related tracing is my main goal.
Ok, makes sense.
Thanks,
Naveen
More information about the Linuxppc-dev
mailing list