pcp
[Top] [All Lists]

Re: pcp updates: multithreaded libpcp pmNewContext

To: pcp developers <pcp@xxxxxxxxxxx>
Subject: Re: pcp updates: multithreaded libpcp pmNewContext
From: "Frank Ch. Eigler" <fche@xxxxxxxxxx>
Date: Thu, 14 Apr 2016 15:43:42 -0400
Delivered-to: pcp@xxxxxxxxxxx
In-reply-to: <20160409233453.GA10158@xxxxxxxxxx>
References: <20160409233453.GA10158@xxxxxxxxxx>
User-agent: Mutt/1.4.2.2i
Hi -

> Related to RHBZ1325363, presenting for your review, a series of
> patches for multithreading pmNewContext and its client pmmgr.

Following up from brolley/lberk reviews-in-progress, a few more
patches on the pcpfans.git fche/multithread branch:

commit 412a4e4120468afd176475826258251f3c158ecc
Author: Frank Ch. Eigler <fche@xxxxxxxxxx>
Date:   Thu Apr 14 15:30:31 2016 -0400

    multithreaded pmNewContext: tweak locks and errors
    
    Eagle-eyed brolley found a few places where PM_UNLOCKs mismatched
    PM_LOCKs in the new code.  Fixed those.  In addition, tweaked
    pmReconnectContext, pmDupContext, pmDestroyContext, pmUseContext
    to more vigorously detect & reject FREE/INIT state contexts.

commit ae0d529079a791db58390099b9debe3c15808de1
Author: Frank Ch. Eigler <fche@xxxxxxxxxx>
Date:   Tue Apr 12 08:26:34 2016 -0400

    pmmgr: tweak threading and verbosity
    
    The recent pmcd-search multithreading work spun off threads up to a
    calculated or configured limit, where that limit was independent of
    the amount of work available for the threads.  This could waste time &
    momentary memory.  We now limit multithreading to the actual number of
    input work items.
    
    While in the vicitinity, tweak message-verbosity so that pmmgr -v
    prints a good bare-essential level of information (remote pmcds
    found, daemons started), which is a good default.  -v -v prints
    much more detail.

commit ad40e392f0556efe1221ac101734b2269a6508f3
Author: Frank Ch. Eigler <fche@xxxxxxxxxx>
Date:   Mon Apr 11 10:27:14 2016 -0400

    pmNewContext multithreading: defer derived-metric initialization
    
    lberk reported that a $PCP_DERIVED_CONFIG-laden pcp app segv's due to
    __dmopencontext() running general pmapi functions on the being_initialized
    context structure.  We defer this until after the context[] slot is set,
    marking the beginning of its pmapi usability.



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