pcp
[Top] [All Lists]

Re: [pcp] suitability of PCP for event tracing

To: Ken McDonell <kenj@xxxxxxxxxxxxxxxx>
Subject: Re: [pcp] suitability of PCP for event tracing
From: Greg Banks <gnb@xxxxxxxxxxx>
Date: Mon, 13 Sep 2010 12:20:48 +1000
Cc: "Frank Ch. Eigler" <fche@xxxxxxxxxx>, "systemtap@xxxxxxxxxxxxxxxxxx" <systemtap@xxxxxxxxxxxxxxxxxx>, "pcp@xxxxxxxxxxx" <pcp@xxxxxxxxxxx>
In-reply-to: <4C8D0317.6000807@xxxxxxxxxxxxxxxx>
References: <20100827153906.GD3185@xxxxxxxxxx> <4C7A7DFE.2040606@xxxxxxxxxxxxxxxx> <20100831194941.GC5762@xxxxxxxxxx> <4C8D0317.6000807@xxxxxxxxxxxxxxxx>
User-agent: Thunderbird 2.0.0.23 (X11/20090817)
Ken McDonell wrote:
Apologies for my tardiness in responding, but I'm travelling at the moment (typing this on a train and then on a ferry somewhere in Norway).


Sounds like fun :)

On 3/09/2010 5:39 AM, Frank Ch. Eigler wrote:
...

OK, then it looks like we'd have at least a few separate pieces to
work on:

* extensions to the PMCD<->PMDA API/protocol to allow PMDAs to push
   event data, and corresponding extensions for PMclients<->PMCD

I'd really like to see some more discussion on how people think this is going to work. None of the PCP libraries are thread-safe (again a deliberate design decision at the original point of conception),
I've made a brief survey of the place in the libpcp code which are not threadsafe; there's *lots* of them but most are easily fixed without breaking external interfaces. I'd estimate a few weeks' work is involved. I'm interested in helping on this for my own reasons (I'd like kmchart to be more robust when communication with pmdas is disrupted).

and asynchronous delivery of data from pmdas through pmcd to clients increases the likelihood that people will want to use multiple threads to handle PCP calls. There are some asynchronous calls that were grafted onto libpcp later on, but these have very little use in existing code and no QA coverage.

They're also a right bugger to program with, as we've discovered. I would be happy to see them deprecated in favour of full libpcp thread safety.

--
Greg.

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