This is an archive of the discontinued LLVM Phabricator instance.

Fix performance issue incurred by removing monitor thread.
ClosedPublic

Authored by hbae on Jan 19 2017, 8:30 AM.

Details

Summary

This change fixes a performance issue incurred by removing monitor thread.

When the monitor thread is used, most threads in the team directly go to
sleep if the copy of bt_intervals/bt_set is not available in the cache,
and this happens at least once per thread in the wait function, making the
overall performance slightly better.
This change tries to mimic this behavior by using the bt_intervals cache,
which simply keeps the blocktime interval in terms of the platform-dependent
ticks or nanoseconds.

Diff Detail

Repository
rL LLVM

Event Timeline

hbae created this revision.Jan 19 2017, 8:30 AM
This revision is now accepted and ready to land.Jan 27 2017, 10:02 AM
This revision was automatically updated to reflect the committed changes.