Re: [PATCH] of: introduce event tracepoints for dynamic device_node lifecyle
From: Michael Ellerman <mpe@ellerman.id.au>
Date: 2017-04-19 10:13:43
Also in:
linux-devicetree, lkml
From: Michael Ellerman <mpe@ellerman.id.au>
Date: 2017-04-19 10:13:43
Also in:
linux-devicetree, lkml
Oliver O'Halloran [off-list ref] writes:
On Wed, Apr 19, 2017 at 2:46 AM, Rob Herring [off-list ref] wrote:quoted
On Mon, Apr 17, 2017 at 7:32 PM, Tyrel Datwyler [off-list ref] wrote:quoted
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.Not really relevant for this patch, but since you are looking at pseries and refcounting, the refcounting largely exists for pseries. It's also hard to get right as this type of fix is fairly common. It's now used for overlays, but we really probably only need to refcount the overlays or changesets as a whole, not at a node level. If you have any thoughts on how a different model of refcounting could work for pseries, I'd like to discuss it.One idea I've been kicking around is differentiating short and long term references to a node.
I actually did this a long time ago, but balked at the size of the patch to do the conversion. Let me see if I can find it lying around ... cheers