[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <0279a4cb-ced0-447a-a06f-37c38650ed5b@quicinc.com>
Date: Tue, 23 Jan 2024 18:23:58 +0800
From: Huang Yiwei <quic_hyiwei@...cinc.com>
To: Steven Rostedt <rostedt@...dmis.org>
CC: <mhiramat@...nel.org>, <mark.rutland@....com>, <mcgrof@...nel.org>,
<keescook@...omium.org>, <j.granados@...sung.com>,
<mathieu.desnoyers@...icios.com>, <corbet@....net>,
<linux-kernel@...r.kernel.org>, <linux-trace-kernel@...r.kernel.org>,
<linux-fsdevel@...r.kernel.org>, <linux-doc@...r.kernel.org>,
<quic_bjorande@...cinc.com>, <quic_tsoni@...cinc.com>,
<quic_satyap@...cinc.com>, <quic_aiquny@...cinc.com>,
<kernel@...cinc.com>, Ross Zwisler <zwisler@...gle.com>,
Joel Fernandes <joel@...lfernandes.org>
Subject: Re: [PATCH v3] tracing: Support to dump instance traces by
ftrace_dump_on_oops
On 1/20/2024 12:56 AM, Steven Rostedt wrote:
> On Fri, 19 Jan 2024 16:08:24 +0800
> Huang Yiwei <quic_hyiwei@...cinc.com> wrote:
>
>> - ftrace_dump_on_oops[=orig_cpu]
>> + ftrace_dump_on_oops[=orig_cpu | =<instance>]
>
> I wonder if we should have it be:
>
> ftrace_dump_on_oops[=orig_cpu | =<instance> | =<instance>:orig_cpu ]
>
> Then last would be to only print out a specific CPU trace of the given instance.
>
> And if we really want to be fancy!
>
> ftrace_dump_on_opps[=orig_cpu | =<instance> | =orig_cpu:<instance> ][,<instance> | ,<instance>:orig_cpu]
>
Yeah, I agree to make the parameter more flexible.
"=orig_cpu:<instance>" means to dump global and another instance?
I'm thinking of the following format:
ftrace_dump_on_opps[=orig_cpu | =<instance>][,<instance> |
,<instance>=orig_cpu]
Here list some possible situations:
1. Dump global on orig_cpu:
ftrace_dump_on_oops=orig_cpu
2. Dump global and instance1 on all cpu, instance2 on orig_cpu:
ftrace_dump_on_opps,<instance1>,<instance2>=orig_cpu
3. Dump global and instance1 on orig_cpu, instance2 on all cpu:
ftrace_dump_on_opps=orig_cpu,<instance1>=orig_cpu,<instance2>
4. Dump instance1 on all cpu, instance2 on orig_cpu:
ftrace_dump_on_opps=<instance1>,<instance2>=orig_cpu
5. Dump instance1 and instance2 on orig_cpu:
ftrace_dump_on_opps=<instance1>=orig_cpu,<instance2>=orig_cpu
This makes orig_cpu dump for global same as instance, the parameter may
seems more unified and users don't need to remember another markers to
request orig_cpu dump.
But one problem here is if there's an instance named "orig_cpu", then we
may not dump it correctly.
Regards,
Huang Yiwei
> That would allow dumping more than one instance.
>
> If you want to dump the main buffer and an instance foo:
>
> ftrace_dump_on_opps,foo
>
> Where the ',' says to dump the top instance as well as the foo instance.
>
> -- Steve
>
>
>> [FTRACE] will dump the trace buffers on oops.
>> - If no parameter is passed, ftrace will dump
>> - buffers of all CPUs, but if you pass orig_cpu, it will
>> + If no parameter is passed, ftrace will dump global
>> + buffers of all CPUs, if you pass orig_cpu, it will
>> dump only the buffer of the CPU that triggered the
>> - oops.
>> + oops, or specific instance will be dumped if instance
>> + name is passed.
>>
Powered by blists - more mailing lists