On 2/23/2024 9:47 AM, Steven Rostedt wrote:
On Thu, 8 Feb 2024 21:18:14 +0800
Huang Yiwei <quic_hyi...@quicinc.com> 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],
   <instrance2_name>[=2/orig_cpu]: new behavior -- dump the global trace
   buffer and multiple instance buffer on all CPUs, or only dump on CPU
   that triggered the oops if =2 or =orig_cpu is given

Also, the sysctl node can handle the input accordingly.

Cc: Ross Zwisler <zwis...@google.com>
Signed-off-by: Joel Fernandes (Google) <j...@joelfernandes.org>
Signed-off-by: Huang Yiwei <quic_hyi...@quicinc.com>

This patch failed with the following warning:

   kernel/trace/trace.c:10029:6: warning: no previous prototype for 
‘ftrace_dump_one’ [-Wmissing-prototypes]

-- Steve

My bad, will add the missing 'static' keyword in next patch.

Regards,
Huang Yiwei

Reply via email to