History question: Thread-safe profiling instrumentation
Xinliang David Li
davidxl@google.com
Mon Apr 22 20:13:00 GMT 2013
There is a similar patch (in google branches) from Rong Xu which
enables atomic profile counter update.
http://gcc.gnu.org/ml/gcc-patches/2013-01/msg00072.html
On Mon, Apr 22, 2013 at 12:59 PM, Bill Schmidt
<wschmidt@linux.vnet.ibm.com> wrote:
> Six years ago, Michael Matz proposed a patch for generating profile
> instrumentation in a thread-safe manner:
>
> http://gcc.gnu.org/ml/gcc-patches/2007-03/msg00950.html
>
> Reading through the thread, I saw a few minor objections, but nothing to
> indicate the patch should be withdrawn. However, apparently the changes
> were never made.
>
> I'm curious about the history here. What was the reason for abandoning
> this? Was a better alternative found? Were all the counters made
> thread-local?
>
> My reason for asking involves a large heavily-threaded application that
> is improved by feedback-directed optimization on some platforms, but not
> on others. One theory is that a defective profile is generated due to
> counter dropouts from contention. I'm somewhat skeptical about this
> given that some platforms seem to do well with it, but it's possible.
Do you see lots of messages about insane profile data (under
-fprofile-correction)? Most of the such messages we see (in our large
multi-threaded applications) show only marginal errors.
> I'm hopeful that knowing why the thread-safe profiling patch wasn't
> implemented will give us more of a clue.
You can try out Rong's patch. He plan to submit it to trunk soon.
thanks,
David
>
> Thanks for any help!
>
> Bill
>
More information about the Gcc
mailing list