Messages in this thread | | | Date | Fri, 23 Mar 2018 16:04:41 -0400 | From | Steven Rostedt <> | Subject | Re: [PATCH 0/3] [RFC] init, tracing: Add initcall trace events |
| |
On Fri, 23 Mar 2018 12:50:16 -0700 Andrew Morton <akpm@linux-foundation.org> wrote:
> On Fri, 23 Mar 2018 11:02:41 -0400 Steven Rostedt <rostedt@goodmis.org> wrote: > > > A while ago we had a boot tracer. But it was eventually removed: > > commit 30dbb20e68e6f ("tracing: Remove boot tracer"). > > > > The rational was because there is already a initcall_debug boot option > > that causes printk()s of all the initcall functions. > > "rationale" :)
I hate English.
> > > The problem with the initcall_debug option is that printk() is awfully slow, > > and makes it difficult to see the real impact of initcalls. Mainly because > > a single printk() is usually slower than most initcall functions. > > Not understanding this. We do it correctly: > > calltime = ktime_get(); > ret = fn(); > rettime = ktime_get(); > > so the displayed initcall timing is independent of the printk() > execution time? >
It's not just the timing, it's the fact that init_debug printks disrupts the boot process, where as tracing is less invasive to the general runtime.
I would even argue that we remove the printks and use the trace events instead. There's already an option to make trace events be sent to printk(). I could have initcall_debug enable the trace events and send them to printk.
-- Steve
| |