Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > linux.kernel > #1737005

Re: [mainline][DLPAR][Oops] OF: ERROR: Bad of_node_put() on /cpus

From Tyrel Datwyler <tyreld@linux.vnet.ibm.com>
Newsgroups linux.kernel
Subject Re: [mainline][DLPAR][Oops] OF: ERROR: Bad of_node_put() on /cpus
Date 2017-09-21 20:50 +0200
Message-ID <useHT-4xK-1@gated-at.bofh.it> (permalink)
References <upWFr-1Yr-3@gated-at.bofh.it> <upYnT-2Ux-3@gated-at.bofh.it> <urLwd-2qd-5@gated-at.bofh.it> <urQYX-63Y-53@gated-at.bofh.it> <us6r1-7Dh-13@gated-at.bofh.it>
Organization linux.* mail to news gateway

Show all headers | View raw


On 09/21/2017 02:57 AM, Michael Ellerman wrote:
> Tyrel Datwyler <tyreld@linux.vnet.ibm.com> writes:
>> On 09/20/2017 04:39 AM, Michael Ellerman wrote:
>>> Rob Herring <robh@kernel.org> writes:

<snip>

>>>
>>> Testing a fix, will report back.
>>
>> So, that patch slipped past me. Not only is the parent reference not ours to drop, but
>> when I went and looked at dlpar_cpu_add() I also noticed that of_node_put() was done on
>> the parent prior to the call to dlpar_attach_node(). With the addition of "parent" to the
>> dlpar_attach_node() parameter list dlpar_cpu_add() needs to be fixed up to hold the
>> "parent" reference until after dlpar_attach_node() returns.
> 
> Yep. I wrote the same patch :)
> 
> Rob asked me to test it, which I did, but /cpus starts out with an
> elevated ref count, so you have to do ~30 (on my system) DLPAR removes
> to hit the bug, which I didn't do.

Yeah, there are a lot of things that grab references to /cpus. So, I had a good idea that
I needed to loop a few times adding and removing multiple cpus to trigger the issue. Its
also obvious when using those OF trace points I wrote a while back that refcount for /cpus
is dropping off uncharacteristically in response to symmetrical adds/removes of cpus. I
saw your note about getting that patchset resubmitted. I'll try and get that queued back
up soon.

-Tyrel

> 
> I've updated my test script to do roughly $(nproc) x 10 DLPAR removes,
> which is hopefully sufficient to catch these bugs in future.
> 
> cheers
> 

Back to linux.kernel | Previous | NextPrevious in thread | Next in thread | Find similar | Unroll thread


Thread

Re: [mainline][DLPAR][Oops] OF: ERROR: Bad of_node_put() on /cpus Rob Herring <robh@kernel.org> - 2017-09-15 15:00 +0200
  Re: [mainline][DLPAR][Oops] OF: ERROR: Bad of_node_put() on /cpus Abdul Haleem <abdhalee@linux.vnet.ibm.com> - 2017-09-19 15:40 +0200
  Re: [mainline][DLPAR][Oops] OF: ERROR: Bad of_node_put() on /cpus Michael Ellerman <mpe@ellerman.id.au> - 2017-09-20 13:40 +0200
    Re: [mainline][DLPAR][Oops] OF: ERROR: Bad of_node_put() on /cpus Tyrel Datwyler <tyreld@linux.vnet.ibm.com> - 2017-09-20 19:30 +0200
      Re: [mainline][DLPAR][Oops] OF: ERROR: Bad of_node_put() on /cpus Michael Ellerman <mpe@ellerman.id.au> - 2017-09-21 12:00 +0200
        Re: [mainline][DLPAR][Oops] OF: ERROR: Bad of_node_put() on /cpus Tyrel Datwyler <tyreld@linux.vnet.ibm.com> - 2017-09-21 20:50 +0200
          Re: [mainline][DLPAR][Oops] OF: ERROR: Bad of_node_put() on /cpus Michael Ellerman <mpe@ellerman.id.au> - 2017-09-22 14:00 +0200

csiph-web