This is an archive of the discontinued LLVM Phabricator instance.

Introducing a function to flush the shadow memory from third-party libraries
ClosedPublic

Authored by simoatze on Jan 6 2017, 10:36 PM.

Details

Summary

As discussed with Dmitry (https://goo.gl/SA4izd), I would like to introduce a function to be called from a third-party library to flush the shadow memory.
In particular, we ran some experiments with our tool Archer (an OpenMP data race detector based on Tsan, https://github.com/PRUNER/archer) and flushing the memory at the end of an outer parallel region, slightly increase the runtime overhead, but reduce the memory overhead of about 30%. This feature would come very handy in case of very large OpenMP applications that may cause an "out of memory" exception when checked with Tsan.

Diff Detail

Event Timeline

simoatze updated this revision to Diff 83514.Jan 6 2017, 10:36 PM
simoatze retitled this revision from to Introducing a function to flush the shadow memory from third-party libraries.
simoatze updated this object.
simoatze added reviewers: dvyukov, eugenis, kcc.
simoatze added subscribers: hfinkel, protze.joachim, Hahnfeld.
simoatze updated this object.Jan 6 2017, 10:37 PM
dvyukov accepted this revision.Jan 7 2017, 3:30 AM
dvyukov edited edge metadata.
This revision is now accepted and ready to land.Jan 7 2017, 3:30 AM

Submitted in r291346.
Thanks

dvyukov closed this revision.Jan 7 2017, 3:38 AM