This is an archive of the discontinued LLVM Phabricator instance.

[ITTNOTIFY] Correct barrier imbalance time in case of tasks
ClosedPublic

Authored by jlpeyton on Apr 12 2016, 1:33 PM.

Details

Summary

ittnotify fix for barrier imbalance time in case tasks exist. In the current implementation, task execution time is included into aggregated time on a barrier. This fix calculates task execution time and corrects the arrive time by subtracing the task execution time.

Since __kmp_invoke_task() can not only be called on a barrier, the field th.th_bar_arrive_time is used to check if the function was called at the barrier (th.th_bar_arrive_time != 0). So for this check, th_bar_arrive_time is set to zero right after the value is used on the barrier.

Diff Detail

Repository
rL LLVM

Event Timeline

jlpeyton updated this revision to Diff 53450.Apr 12 2016, 1:33 PM
jlpeyton retitled this revision from to [ITTNOTIFY] Correct barrier imbalance time in case of tasks.
jlpeyton updated this object.
jlpeyton added reviewers: omalyshe, AndreyChurbanov.
jlpeyton set the repository for this revision to rL LLVM.
jlpeyton added a subscriber: openmp-commits.
omalyshe accepted this revision.Apr 13 2016, 9:02 AM
omalyshe edited edge metadata.

LGTM.

This revision is now accepted and ready to land.Apr 13 2016, 9:02 AM
This revision was automatically updated to reflect the committed changes.