From: Frank Rowand <frowand.list@gmail.com>
To: Tyrel Datwyler <tyreld@linux.vnet.ibm.com>,
Wolfram Sang <wsa+renesas@sang-engineering.com>
Cc: devicetree@vger.kernel.org, linux-kernel@vger.kernel.org,
Steven Rostedt <rostedt@goodmis.org>,
linux-renesas-soc@vger.kernel.org,
Rob Herring <robh+dt@kernel.org>,
Geert Uytterhoeven <geert@linux-m68k.org>,
linuxppc-dev@lists.ozlabs.org
Subject: Re: [RFC PATCH v2 0/1] of: easier debugging for node life cycle issues
Date: Thu, 25 Jan 2018 17:08:56 -0800 [thread overview]
Message-ID: <2f47d3ca-2533-62d3-9db1-6d16bbd64545@gmail.com> (raw)
In-Reply-To: <c20ffeb2-f17a-ddab-7327-b8854b301d18@linux.vnet.ibm.com>
On 01/25/18 15:53, Tyrel Datwyler wrote:
> On 01/25/2018 01:49 PM, Frank Rowand wrote:
>> Hi Wolfram,
>>
>> On 01/25/18 03:03, Steven Rostedt wrote:
>>> On Wed, 24 Jan 2018 22:55:13 -0800
>>> Frank Rowand <frowand.list@gmail.com> wrote:
>>>
>>>> Hi Steve,
>>>
>>>>
>>>> Off the top of your head, can you tell me know early in the boot
>>>> process a trace_event can be called and successfully provide the
>>>> data to someone trying to debug early boot issues?
>>>
>>> The trace events are enabled by early_initcall().
>>
>> < snip >
>>
>> This means that ftrace can not be used for the of_node_get(),
>> of_node_put(), and of_node_release() debug info, because
>> these functions are called before early_initcall(). Please
>> use pr_debug() for these functions.
>
> I would argue that early boot debugging doesn't completely negate the
> usefulness of this tracing infrastructure.
I did not say or imply that it did. I am pointing out that this
implementation does not meet the needs of other use cases. And
potentially provides misleading information (or more precisely
misleading lack of information) in some other use cases.
> I get that no information
> is available in the trace up until ftrace is setup by its
> early_initcall, but I still found issues after early boot using this
> patch and I would hope that it would be somewhat obvious if
> references are out of whack once the ftrace data becomes available.
> In the dynamic case on Power we often do reconfig well after boot on
> live systems which produces a lot of reference put/gets. This patch
> made it easy to identify several reference leaks and underflows in
> our attach and detach logic with the added aid of being able to turn
> on the stacktrace for each call in the ftrace data.
Yes, you can get stacktraces relatively easily. This is the strongest
argument for using ftrace.
My assumption has been that the stack trace is useful for of_node_get()
and of_node_put(). Is there _large_ value to the stack trace for
of_reconfig_notify()?
> Another thought is it would be nice if we could have the best of both
> worlds such that the tracepoints were pr_debugs up until the ftrace
> early_initcall. Or, I suppose we could ifdef it and make the ftrace
> tracepoints a configuration option, such that if it wasn't configured
> we implement the tracepoint functions as pr_debugs. This makes early
> boot an option. Just spit balling ideas.
An overly complex solution. This is just debug. Worst case alternative
is that the patches live on, out of tree. So nope.
>
> -Tyrel
>
>>
>> As far as I know, the of_reconfig_notify() could remain an
>> ftrace instrumented function. But now that the only thing
>> that would be ftrace instrumented is of_reconfig_notify(),
>> I don't see a strong justification for changing the existing
>> pr_debug() calls to an ftrace alternative. Though I suspect
>> the original author of the patch still might desire to have
>> the "#ifdef DEBUG" surrounding the pr_debug() calls removed
>> since one of his issues was having to recompile his kernel
>> to do his debugging.
>>
>> -Frank
>>
>
>
prev parent reply other threads:[~2018-01-26 1:09 UTC|newest]
Thread overview: 26+ messages / expand[flat|nested] mbox.gz Atom feed top
2018-01-21 14:31 Wolfram Sang
2018-01-21 14:31 ` [RFC PATCH v2 1/1] of: introduce event tracepoints for dynamic device_node lifecyle Wolfram Sang
2018-01-21 22:01 ` Steven Rostedt
2018-01-25 6:48 ` Frank Rowand
2018-01-25 6:58 ` Frank Rowand
2018-01-25 8:01 ` Geert Uytterhoeven
2018-01-25 8:30 ` Frank Rowand
2018-01-25 22:40 ` Tyrel Datwyler
2018-01-25 23:31 ` Frank Rowand
2018-01-25 8:32 ` Frank Rowand
2018-01-22 8:43 ` [RFC PATCH v2 0/1] of: easier debugging for node life cycle issues Frank Rowand
2018-01-22 11:49 ` Wolfram Sang
2018-01-23 12:11 ` Michael Ellerman
2018-01-23 19:53 ` Frank Rowand
2018-01-25 6:47 ` Frank Rowand
2018-01-25 23:12 ` Wolfram Sang
2018-01-26 0:42 ` Frank Rowand
2018-01-25 6:48 ` Frank Rowand
2018-01-25 6:55 ` Frank Rowand
2018-01-25 11:03 ` Steven Rostedt
2018-01-25 21:49 ` Frank Rowand
2018-01-25 23:14 ` Wolfram Sang
2018-01-26 0:46 ` Frank Rowand
2018-02-01 17:10 ` Steven Rostedt
2018-01-25 23:53 ` Tyrel Datwyler
2018-01-26 1:08 ` Frank Rowand [this message]
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=2f47d3ca-2533-62d3-9db1-6d16bbd64545@gmail.com \
--to=frowand.list@gmail.com \
--cc=devicetree@vger.kernel.org \
--cc=geert@linux-m68k.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-renesas-soc@vger.kernel.org \
--cc=linuxppc-dev@lists.ozlabs.org \
--cc=robh+dt@kernel.org \
--cc=rostedt@goodmis.org \
--cc=tyreld@linux.vnet.ibm.com \
--cc=wsa+renesas@sang-engineering.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox
Powered by JetHome