Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > linux.kernel > #1625780
| From | Frank Rowand <frowand.list@gmail.com> |
|---|---|
| Newsgroups | linux.kernel |
| Subject | Re: [PATCH] of: introduce event tracepoints for dynamic device_node lifecyle |
| Date | 2017-04-19 03:50 +0200 |
| Message-ID | <txMUN-5oF-3@gated-at.bofh.it> (permalink) |
| References | <txplv-7EF-1@gated-at.bofh.it> <txLm2-4su-3@gated-at.bofh.it> |
| Organization | linux.* mail to news gateway |
On 04/18/17 17:07, Frank Rowand wrote: > On 04/17/17 17:32, Tyrel Datwyler wrote: >> This patch introduces event tracepoints for tracking a device_nodes >> reference cycle as well as reconfig notifications generated in response >> to node/property manipulations. >> >> With the recent upstreaming of the refcount API several device_node >> underflows and leaks have come to my attention in the pseries (DLPAR) dynamic >> logical partitioning code (ie. POWER speak for hotplugging virtual and physcial >> resources at runtime such as cpus or IOAs). These tracepoints provide a >> easy and quick mechanism for validating the reference counting of >> device_nodes during their lifetime. >> >> Further, when pseries lpars are migrated to a different machine we >> perform a live update of our device tree to bring it into alignment with the >> configuration of the new machine. The of_reconfig_notify trace point >> provides a mechanism that can be turned for debuging the device tree >> modifications with out having to build a custom kernel to get at the >> DEBUG code introduced by commit 00aa3720. > > I do not like changing individual (or small groups of) printk() style > debugging information to tracepoint style. > > As far as I know, there is no easy way to combine trace data and printk() > style data to create a single chronology of events. If some of the > information needed to debug an issue is trace data and some is printk() > style data then it becomes more difficult to understand the overall > situation. And of course the other issue with using tracepoints is the extra space required to hold the tracepoint info. With the pr_debug() approach, the space usage can be easily removed for a production kernel via a config option. Tracepoints are wonderful technology, but not always the proper tool to use for debug info. > If Rob wants to convert printk() style data to trace data (and I can't > convince him otherwise) then I will have further comments on this specific > patch. > > -Frank > >> >> The following trace events are provided: of_node_get, of_node_put, >> of_node_release, and of_reconfig_notify. These trace points require a kernel >> built with ftrace support to be enabled. In a typical environment where >> debugfs is mounted at /sys/kernel/debug the entire set of tracepoints >> can be set with the following: >> >> echo "of:*" > /sys/kernel/debug/tracing/set_event >> >> or >> >> echo 1 > /sys/kernel/debug/tracing/of/enable >> >> The following shows the trace point data from a DLPAR remove of a cpu >> from a pseries lpar: >> >> cat /sys/kernel/debug/tracing/trace | grep "POWER8@10" >> >> cpuhp/23-147 [023] .... 128.324827: >> of_node_put: refcount=5, dn->full_name=/cpus/PowerPC,POWER8@10 >> cpuhp/23-147 [023] .... 128.324829: >> of_node_put: refcount=4, dn->full_name=/cpus/PowerPC,POWER8@10 >> cpuhp/23-147 [023] .... 128.324829: >> of_node_put: refcount=3, dn->full_name=/cpus/PowerPC,POWER8@10 >> cpuhp/23-147 [023] .... 128.324831: >> of_node_put: refcount=2, dn->full_name=/cpus/PowerPC,POWER8@10 >> drmgr-7284 [009] .... 128.439000: >> of_node_put: refcount=1, dn->full_name=/cpus/PowerPC,POWER8@10 >> drmgr-7284 [009] .... 128.439002: >> of_reconfig_notify: action=DETACH_NODE, dn->full_name=/cpus/PowerPC,POWER8@10, >> prop->name=null, old_prop->name=null >> drmgr-7284 [009] .... 128.439015: >> of_node_put: refcount=0, dn->full_name=/cpus/PowerPC,POWER8@10 >> drmgr-7284 [009] .... 128.439016: >> of_node_release: dn->full_name=/cpus/PowerPC,POWER8@10, dn->_flags=4 >> >> Signed-off-by: Tyrel Datwyler <tyreld@linux.vnet.ibm.com> >> --- >> drivers/of/dynamic.c | 30 ++++++--------- >> include/trace/events/of.h | 93 +++++++++++++++++++++++++++++++++++++++++++++++ >> 2 files changed, 105 insertions(+), 18 deletions(-) >> create mode 100644 include/trace/events/of.h >> > > < snip > > >
Back to linux.kernel | Previous | Next — Previous in thread | Next in thread | Find similar | Unroll thread
[PATCH] of: introduce event tracepoints for dynamic device_node lifecyle Tyrel Datwyler <tyreld@linux.vnet.ibm.com> - 2017-04-18 02:40 +0200
Re: [PATCH] of: introduce event tracepoints for dynamic device_node lifecyle Tyrel Datwyler <tyreld@linux.vnet.ibm.com> - 2017-04-18 02:40 +0200
Re: [PATCH] of: introduce event tracepoints for dynamic device_node lifecyle Rob Herring <robh+dt@kernel.org> - 2017-04-18 18:50 +0200
Re: [PATCH] of: introduce event tracepoints for dynamic device_node lifecyle "Oliver O'Halloran" <oohall@gmail.com> - 2017-04-19 04:40 +0200
Re: [PATCH] of: introduce event tracepoints for dynamic device_node lifecyle Michael Ellerman <mpe@ellerman.id.au> - 2017-04-19 12:20 +0200
Re: [PATCH] of: introduce event tracepoints for dynamic device_node lifecyle Tyrel Datwyler <tyreld@linux.vnet.ibm.com> - 2017-04-19 23:20 +0200
Re: [PATCH] of: introduce event tracepoints for dynamic device_node lifecyle Frank Rowand <frowand.list@gmail.com> - 2017-04-19 02:10 +0200
Re: [PATCH] of: introduce event tracepoints for dynamic device_node lifecyle Michael Ellerman <mpe@ellerman.id.au> - 2017-04-19 03:40 +0200
Re: [PATCH] of: introduce event tracepoints for dynamic device_node lifecyle Frank Rowand <frowand.list@gmail.com> - 2017-04-19 04:40 +0200
Re: [PATCH] of: introduce event tracepoints for dynamic device_node lifecyle Tyrel Datwyler <tyreld@linux.vnet.ibm.com> - 2017-04-19 20:40 +0200
Re: [PATCH] of: introduce event tracepoints for dynamic device_node lifecyle Tyrel Datwyler <turtle.in.the.kernel@gmail.com> - 2017-04-20 01:30 +0200
Re: [PATCH] of: introduce event tracepoints for dynamic device_node lifecyle Steven Rostedt <rostedt@goodmis.org> - 2017-04-20 04:40 +0200
Re: [PATCH] of: introduce event tracepoints for dynamic device_node lifecyle Frank Rowand <frowand.list@gmail.com> - 2017-04-20 06:50 +0200
Re: [PATCH] of: introduce event tracepoints for dynamic device_node lifecyle Tyrel Datwyler <turtle.in.the.kernel@gmail.com> - 2017-04-20 07:30 +0200
Re: [PATCH] of: introduce event tracepoints for dynamic device_node lifecyle Steven Rostedt <rostedt@goodmis.org> - 2017-04-20 15:40 +0200
Re: [PATCH] of: introduce event tracepoints for dynamic device_node lifecyle Frank Rowand <frowand.list@gmail.com> - 2017-04-20 06:50 +0200
Re: [PATCH] of: introduce event tracepoints for dynamic device_node lifecyle Frank Rowand <frowand.list@gmail.com> - 2017-04-20 07:20 +0200
Re: [PATCH] of: introduce event tracepoints for dynamic device_node lifecyle Tyrel Datwyler <turtle.in.the.kernel@gmail.com> - 2017-04-20 19:00 +0200
Re: [PATCH] of: introduce event tracepoints for dynamic device_node lifecyle Frank Rowand <frowand.list@gmail.com> - 2017-04-20 21:40 +0200
Re: [PATCH] of: introduce event tracepoints for dynamic device_node lifecyle Michael Ellerman <mpe@ellerman.id.au> - 2017-04-21 04:00 +0200
Re: [PATCH] of: introduce event tracepoints for dynamic device_node lifecyle Frank Rowand <frowand.list@gmail.com> - 2017-04-19 03:50 +0200
Re: [PATCH] of: introduce event tracepoints for dynamic device_node lifecyle Steven Rostedt <rostedt@goodmis.org> - 2017-04-19 05:00 +0200
Re: [PATCH] of: introduce event tracepoints for dynamic device_node lifecyle Tyrel Datwyler <tyreld@linux.vnet.ibm.com> - 2017-04-19 20:50 +0200
Re: [PATCH] of: introduce event tracepoints for dynamic device_node lifecyle Frank Rowand <frowand.list@gmail.com> - 2017-04-20 04:40 +0200
Re: [PATCH] of: introduce event tracepoints for dynamic device_node lifecyle Frank Rowand <frowand.list@gmail.com> - 2017-04-20 12:50 +0200
Re: [PATCH] of: introduce event tracepoints for dynamic device_node lifecyle Steven Rostedt <rostedt@goodmis.org> - 2017-04-19 04:50 +0200
Re: [PATCH] of: introduce event tracepoints for dynamic device_node lifecyle Frank Rowand <frowand.list@gmail.com> - 2017-04-19 05:20 +0200
Re: [PATCH] of: introduce event tracepoints for dynamic device_node lifecyle Frank Rowand <frowand.list@gmail.com> - 2017-04-19 19:50 +0200
csiph-web