Hello Steve, On 02.02.24 02:46, Steven Rostedt wrote: > On Thu, 1 Feb 2024 13:21:37 +0100 > Ahmad Fatoum <a.fat...@pengutronix.de> wrote: >> For this to be maximally useful, I need to configure this not only at >> boot-time, >> but also dump the ftrace buffer at boot time. Probe deferral can hinder the >> kernel from >> calling init and providing a shell, where I could read >> /sys/kernel/tracing/trace. > > OK so the driver is built in.
Yes. The modules are easy, because I will have an access to shell by then on my systems. >> I found following two mechanisms that looked relevant, but seem not to >> do exactly what I want: >> >> - tp_printk: seems to be related to trace points only and not usable >> for the function graph output >> >> - dump_on_oops: I don't get an Oops if probe deferral times out, but maybe >> one could patch the kernel to check a oops_on_probe_deferral or >> dump_on_probe_deferral >> kernel command line parameter in deferred_probe_timeout_work_func()? >> >> >> Is there existing support that I am missing? Any input on whether this >> would be a welcome feature to have? > > Well you can start function_graph on the kernel command line and event > filter on a give function > > ftrace=function_graph function_graph_filter=probe_func Ye, that's what I am doing, but I was stuck on actually outputting the log at boot time. > You can add your own ftrace_dump() on some kind of detected error and put > that in the kernel command line. For example RCU has: > > rcupdate.rcu_cpu_stall_ftrace_dump= > > Which will do a ftrace dump when a RCU stall is triggered. Ah, thanks for the pointer. I take this as meaning that there is no builtin way to dump on arbitrary function return. I will see if it's possible with bootconfig before looking into adding a probe deferral specific kernel command-line parameter. Thanks, Ahmad > > -- Steve > > -- Pengutronix e.K. | | Steuerwalder Str. 21 | http://www.pengutronix.de/ | 31137 Hildesheim, Germany | Phone: +49-5121-206917-0 | Amtsgericht Hildesheim, HRA 2686 | Fax: +49-5121-206917-5555 |