pcp
[Top] [All Lists]

Re: pcp updates: more multithreaded fixes and then some

To: Ken McDonell <kenj@xxxxxxxxxxxxxxxx>
Subject: Re: pcp updates: more multithreaded fixes and then some
From: fche@xxxxxxxxxx (Frank Ch. Eigler)
Date: Wed, 11 May 2016 12:32:55 -0400
Cc: Dave Brolley <brolley@xxxxxxxxxx>, pcp developers <pcp@xxxxxxxxxxx>
Delivered-to: pcp@xxxxxxxxxxx
In-reply-to: <5732CD6C.40403@xxxxxxxxxxxxxxxx> (Ken McDonell's message of "Wed, 11 May 2016 16:13:00 +1000")
References: <20160508205432.GA7399@xxxxxxxxxx> <57323473.4090604@xxxxxxxxxx> <5732CD6C.40403@xxxxxxxxxxxxxxxx>
User-agent: Gnus/5.1008 (Gnus v5.10.8) Emacs/21.4 (gnu/linux)
kenj wrote:

> [...]
>> 449 - output mismatch (see 449.out.bad)
> I'm also seeing this across a handful of QA machines.
> [...]

This new commit on fche/multithread returns to the pmns.c locking
structure of a week or two ago, but using a private recursive lock
instead of libpcp.  This appears to make qa/449 reliable here.
I'd appreciate a look-see.

commit 516f3c136517edd5dc06f3738010c0a80ad609ed
Author: Frank Ch. Eigler <fche@xxxxxxxxxx>
Date:   Wed May 11 12:28:24 2016 -0400

    libpcp multithreading: pmns.c switch to recursive lock
    
    Reverting and reworking the previous pmns.c lock-unnesting patch by
    using a recursive pmns_lock.  This is necessary because the internal
    dynamic callgraph within pmns.c is too DAGgy to put a normal mutex
    just at the top levels entry points, and the static state being
    protected is too diffuse just to put a normal mutex at the bottom.
    All this appears to make qa/449 happy now.


- FChE

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