Trace thread config + paranoid level + preload (#176)

- OMNITRACE_TRACE_THREAD_BARRIERS config option
  - set to OFF to disable wrapping `pthread_barrier`
- OMNITRACE_TRACE_THREAD_JOIN config option
  - set to OFF to disable wrapping `pthread_join`
- allow PAPI with perf_event_paranoid at level 2
- default to no PAPI events
- setenv LD_PRELOAD to not include libomnitrace after preload
  - closes #175 
- bump version to 1.7.1
This commit is contained in:
Jonathan R. Madsen
2022-10-06 19:11:08 -05:00
committed by GitHub
parent 2a387f9099
commit a3439d5bf2
7 changed files with 94 additions and 21 deletions
@@ -71,6 +71,8 @@ pthread_mutex_gotcha::get_hashes()
for(size_t i = 9; i < 12; ++i)
_skip.emplace(i);
}
if(!config::get_trace_thread_barriers()) _skip.emplace(8);
if(!config::get_trace_thread_join()) _skip.emplace(12);
for(size_t i = 0; i < gotcha_capacity; ++i)
{
auto&& _id = _data.at(i).tool_id;
@@ -132,8 +134,12 @@ pthread_mutex_gotcha::configure()
"pthread_rwlock_unlock" });
}
pthread_mutex_gotcha_t::configure(
comp::gotcha_config<8, int, pthread_barrier_t*>{ "pthread_barrier_wait" });
if(config::get_trace_thread_barriers())
{
pthread_mutex_gotcha_t::configure(
comp::gotcha_config<8, int, pthread_barrier_t*>{
"pthread_barrier_wait" });
}
if(config::get_trace_thread_spin_locks())
{
@@ -149,8 +155,11 @@ pthread_mutex_gotcha::configure()
"pthread_spin_unlock" });
}
pthread_mutex_gotcha_t::configure(
comp::gotcha_config<12, int, pthread_t, void**>{ "pthread_join" });
if(config::get_trace_thread_join())
{
pthread_mutex_gotcha_t::configure(
comp::gotcha_config<12, int, pthread_t, void**>{ "pthread_join" });
}
};
}