pcp
[Top] [All Lists]

Re: [pcp] pcp updates: multithreading etc.

To: Dave Brolley <brolley@xxxxxxxxxx>
Subject: Re: [pcp] pcp updates: multithreading etc.
From: "Frank Ch. Eigler" <fche@xxxxxxxxxx>
Date: Thu, 5 May 2016 11:35:59 -0400
Cc: pcp developers <pcp@xxxxxxxxxxx>
Delivered-to: pcp@xxxxxxxxxxx
In-reply-to: <572B5FA6.3080802@xxxxxxxxxx>
References: <20160502172853.GL24878@xxxxxxxxxx> <572B5FA6.3080802@xxxxxxxxxx>
User-agent: Mutt/1.4.2.2i
Hi -

> I gave this a quick review. The idea of separate locks for individual 
> shared data objects looks ok to me. However, qa test 449 is hanging for me.

This appears improved with this patch on fche/multithread enough that
I can't make it fail here after thousands of runs.


commit d664a9d82aad11d64f8e3948fe1d51a7359ec3da
Author: Frank Ch. Eigler <fche@xxxxxxxxxx>
Date:   Thu May 5 11:24:44 2016 -0400

    libpcp multithread cont'd: lock ordering in __pmMultiThreaded and 
pmgetconfig
    
    Replacing libpcp lock in __pmMultiThreaded with a small non-nested
    lock, and similarly pmgetconfig().  Corrects occasional deadlock seen
    in qa/449 (src/multithread1).  Code still not helgrind-clean: the
    pmns.c code may need to go next.

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