[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <87y3uw66y5.fsf@concordia.ellerman.id.au>
Date: Wed, 19 Apr 2017 20:13:38 +1000
From: Michael Ellerman <mpe@...erman.id.au>
To: Oliver O'Halloran <oohall@...il.com>,
Rob Herring <robh+dt@...nel.org>
Cc: "devicetree\@vger.kernel.org" <devicetree@...r.kernel.org>,
linuxppc-dev <linuxppc-dev@...ts.ozlabs.org>,
"linux-kernel\@vger.kernel.org" <linux-kernel@...r.kernel.org>,
rostedt@...dmis.org, Ingo Molnar <mingo@...hat.com>,
Tyrel Datwyler <tyreld@...ux.vnet.ibm.com>,
Nathan Fontenot <nfont@...ux.vnet.ibm.com>,
Frank Rowand <frowand.list@...il.com>
Subject: Re: [PATCH] of: introduce event tracepoints for dynamic device_node lifecyle
Oliver O'Halloran <oohall@...il.com> writes:
> On Wed, Apr 19, 2017 at 2:46 AM, Rob Herring <robh+dt@...nel.org> wrote:
>> On Mon, Apr 17, 2017 at 7:32 PM, Tyrel Datwyler
>> <tyreld@...ux.vnet.ibm.com> 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.
>>
>> 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
Powered by blists - more mailing lists