pcp
[Top] [All Lists]

Re: [pcp] libpcp multithreading - next steps

To: "Frank Ch. Eigler" <fche@xxxxxxxxxx>, Ken McDonell <kenj@xxxxxxxxxxxxxxxx>
Subject: Re: [pcp] libpcp multithreading - next steps
From: Dave Brolley <brolley@xxxxxxxxxx>
Date: Mon, 08 Aug 2016 15:12:54 -0400
Cc: pcp@xxxxxxxxxxx
Delivered-to: pcp@xxxxxxxxxxx
In-reply-to: <y0mshuwhzt1.fsf@xxxxxxxx>
References: <20160603155039.GB26460@xxxxxxxxxx> <578D1AE1.6060307@xxxxxxxxxx> <y0my44xksjb.fsf@xxxxxxxx> <57965C89.40401@xxxxxxxxxx> <20160725203257.GG5274@xxxxxxxxxx> <5797B9F7.2020701@xxxxxxxxxx> <71790d7d-377e-c28e-0adf-57fb221c3539@xxxxxxxxxxxxxxxx> <y0mshuwhzt1.fsf@xxxxxxxx>
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:31.0) Gecko/20100101 Thunderbird/31.3.0
On 07/26/2016 05:09 PM, Frank Ch. Eigler wrote:
kenj wrote:

[...]  This commit contains the contentious (in my mind)
__pmHandleToPtr_unlocked() change ... reviewing this pre-empts the
discussion about how to fix the context create/destroy race that I
wanted us to resolve as a first step of restating this effort.
Sure.  Let's resolve it!
This discussion seems to have stalled again. I assume that one or both of you (Frank and/or Ken) is familiar with this particular race. Has there been a solution proposed? If so, was there an implementation? If so, where is it? (branch + commit).
I also am unconvinced that any lock inversion existed in the
original design and implementation
What are you referring to as "original"?


and would like to understand that (if it exists) before we embark on
a development path that relies on helgrind to find lock inversions
rather than design to avoid lock inversions.
It sounds as though you are suspicious that helgrind is unreliable:
that the lock inversion errors are mistaken.  Let me assure you that
every case I've studied, it was genuine.
It might be helpful if you could point out each of these cases and how the inversion was addressed by your changes.

Dave

<Prev in Thread] Current Thread [Next in Thread>