My earlier mail is being held for the moderator approval. Anyway let me
just paste a small snippet from the output. Hope that should be enough.


createRelocSpringboards for 400dd6
> Looking for addr b7fb96 in function _init
> getRelocAddrs for orig addr 400dd6 /w/ block start 400dd6
> getRelocAddrs for orig addr 400dd6 /w/ block start 400dd6
> Adding branch: 400dd6 -> 400ddb
>      Inserting taken space 400dd6 -> 400ddb /w/ range 0
> Generated springboard branch 400dd1->b7fafe
> Conflict called for 400dd1->400dd6
>      looking for 400dd1
>          Found 400dd1 -> 400dd6 /w/ state 1e
>      No conflict, we're good
> createRelocSpringboards for 400dd1
> Looking for addr b7fafe in function _init
> getRelocAddrs for orig addr 400dd1 /w/ block start 400dd1
> getRelocAddrs for orig addr 400dd1 /w/ block start 400dd1
> Adding branch: 400dd1 -> 400dd6
>      Inserting taken space 400dd1 -> 400dd6 /w/ range 0
> Installing 15980 springboards!
>



On Mon, Jul 21, 2014 at 3:41 PM, Buddhika Chamith Kahawitage Don <
budka...@umail.iu.edu> wrote:

> Please find the output in attached file.
>
> Regards
> Bud
>
>
> On Mon, Jul 21, 2014 at 3:13 PM, Bill Williams <b...@cs.wisc.edu> wrote:
>
>> On 07/21/2014 01:59 PM, Buddhika Chamith Kahawitage Don wrote:
>>
>>> Please find my responses inline.
>>>
>>> On Mon, Jul 21, 2014 at 1:48 PM, Bill Williams <b...@cs.wisc.edu
>>> <mailto:b...@cs.wisc.edu>> wrote:
>>>
>>>     On 07/21/2014 11:52 AM, Matthew LeGendre wrote:
>>>
>>>
>>>         Presumably you're running the CodeCoverage tool in two steps: 1)
>>>         Rewriting the binary 2) Running the rewritten binary.  All of the
>>>         analysis/rewriting overheads are in step 1, and the
>>> instrumentation
>>>         overhead can be measured just by timing step 2.
>>>
>>>
>>> That's true.
>>>
>>>
>>>         If you're getting 50x overhead on just step 2 then something's
>>> very
>>>         wrong. I've got my own codeCoverage tool (which I unfortunately
>>>         can't
>>>         share yet) and I only see 10% overhead.
>>>
>>>     Hrm. If this is with a prebuilt, statically linked binary and not
>>>     with a build from source against current Dyninst, we may also be
>>>     hitting traps in an inner loop. That's more the right order of
>>>     magnitude than trampguards would be--trampguards would be in the
>>>     1.5-5x sort of neighborhood off the top of my head.
>>>
>>>
>>> In fact that was the use case I had in my mind. But I was just checking
>>> the static rewriting case first up since it was readily available with
>>> code-coverage tool.
>>>
>>>
>>>  Sorry, I meant a statically linked version of the CodeCoverage tool;
>> apologies for the confusion.
>>
>>
>>      The source for CodeCoverage (which you can build against the latest
>>>     Dyninst and be reasonably sure of *not* hitting traps in almost all
>>>     of SPEC) is in our tools.git repository. I know we've fixed some
>>>     performance regressions that turned up between the AWAT paper and
>>> 8.1.2.
>>>
>>>
>>> I am using dyninst 8.1.2 which I built from source.
>>>
>>>  Then yes, it's probably trap overhead, and 8.2 should fix it--I believe
>> h264 was on the list of benchmarks that had a performance regression that
>> we've fixed for the current release.
>>
>> If you set DYNINST_DEBUG_SPRINGBOARD=1 in your environment and send me
>> the output of the rewriting pass with that enabled, I'll be able to confirm
>> the cause (and status) of this problem.
>>
>>
>>>
>>>         Just an educated guess--I frequently see big overheads
>>>         associated with
>>>         trampoline guards.  Dyninst should have realized trampoline
>>>         guards are
>>>         unnecessary for codeCoverage and not emited them.  But if
>>>         something went
>>>         wrong you can manually turn them off by putting a call to:
>>>
>>>             bpatch.setTrampRecursive(true)__;
>>>
>>>
>>>
>>> Tried it without any success :(
>>>
>>>
>>>         Near the top of codeCoverage.C's main() function.  If that makes
>>> a
>>>         difference then let the list know.  That implies there's a bug
>>> that
>>>         should be investigated.
>>>
>>>
>>> Any ideas on how to debug this?
>>>
>>> Thanks
>>> Bud
>>>
>>
>>
>> --
>> --bw
>>
>> Bill Williams
>> Paradyn Project
>> b...@cs.wisc.edu
>>
>
>
_______________________________________________
Dyninst-api mailing list
Dyninst-api@cs.wisc.edu
https://lists.cs.wisc.edu/mailman/listinfo/dyninst-api

Reply via email to