Re: [DynInst_API:] DYNINSTuserMessage() in a function called with oneTimeCode()


Date: Mon, 11 Feb 2013 14:26:12 -0800 (PST)
From: Matthew LeGendre <legendre1@xxxxxxxx>
Subject: Re: [DynInst_API:] DYNINSTuserMessage() in a function called with oneTimeCode()

On Mon, 11 Feb 2013, Josh Stone wrote:
On 02/11/2013 01:47 PM, Matthew LeGendre wrote:
Also, your earlier message implied that you use DYNINSTUserMessage in all
of your probes.  As an FYI, DYNINSTUserMessage is fairly expensive and
involves pausing the mutatee and two context-switches.  It's not something
you'd ever want to put into an app's inner loop.  If you see any
performance problems you may want to consider replacing it with a named
pipe/socket or shared memory.

Hmm, we do use shared memory between the mutator and mutatee already for
other common state, and we were considering that as another way to add
message passing.  If DYNINSTuserMessage is never expected to be
performant, then perhaps we should try those other things after all.

I doubt DYNINSTuserMessage will be performant in the near future--Dyninst doesn't have any fast mutatee/mutator communication infrastructure. One could build some (e.g, add a named pipe), but then you're talking about a significant project.

-Matt
[← Prev in Thread] Current Thread [Next in Thread→]