Re: [PATCH v5] tracing: Support to dump instance traces by ftrace_dump_on_oops

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Mon, 26 Feb 2024 08:51:58 +0900
Masami Hiramatsu (Google) <mhiramat@xxxxxxxxxx> wrote:

> On Thu, 8 Feb 2024 21:18:14 +0800
> Huang Yiwei <quic_hyiwei@xxxxxxxxxxx> wrote:
> 
> > Currently ftrace only dumps the global trace buffer on an OOPs. For
> > debugging a production usecase, instance trace will be helpful to
> > check specific problems since global trace buffer may be used for
> > other purposes.
> > 
> > This patch extend the ftrace_dump_on_oops parameter to dump a specific
> > or multiple trace instances:
> > 
> >   - ftrace_dump_on_oops=0: as before -- don't dump
> >   - ftrace_dump_on_oops[=1]: as before -- dump the global trace buffer
> >   on all CPUs
> >   - ftrace_dump_on_oops=2 or =orig_cpu: as before -- dump the global
> >   trace buffer on CPU that triggered the oops
> >   - ftrace_dump_on_oops=<instance_name>: new behavior -- dump the
> >   tracing instance matching <instance_name>
> >   - ftrace_dump_on_oops[=2/orig_cpu],<instance1_name>[=2/orig_cpu],  
> 
> Would you mean "ftrace_dump_on_oops,<instance1_name>" ?

??

> As far as I can see, it doesn't work. Command line parser requires "="
> for parameter value. 

Not sure what you mean, but it does work with:

 ftrace_dump_on_oops=1,foo=2

As well as

 ftrace_dump_on_oops=foo


If you want to dump with an instance, yes you need a '=' sign.

> Also, is there any reason to limit the parameter
> to 2 or orig_cpu?

There's 3 options: 0 = off, 1 = all (default), 2 = orig_cpu

I don't see it limited.

You don't need the equal sign if you just want the top buffer.

> 
> What about this syntax?
> 
> ftrace_dump_on_oops=<0|1|2|orig_cpu>[,<instance_name>[=<1|2|orig_cpu>][,...]

That should work now. But why add the requirement of an '=' as that isn't
needed now? That is, the syntax is:

 ftrace_dump_on_oops[=[<0|1|2|orig_cpu>,][<instance_name>[=<1|2|orig_cpu>][,...]]

> 
> or
> 
> ftrace_dump_on_oops=instance_name[=<1|2|orig_cpu>][,...]

This works.

> 
> or
> 
> ftrace_dump_on_oops

This works.

> 
> e.g.
> "ftrace_dump_on_oops=0,foo=orig_cpu" is equal to "ftrace_dump_on_oops=foo=orig_cpu"
> 

And that does.

I think this patch does what you are asking for.

-- Steve




[Index of Archives]     [Kernel Newbies]     [Security]     [Netfilter]     [Bugtraq]     [Linux FS]     [Yosemite Forum]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Samba]     [Video 4 Linux]     [Device Mapper]     [Linux Resources]

  Powered by Linux