Skip to content

Help TSAN to do more useful reporting

Gert Wollny requested to merge gerddie/mesa:gallium-help-thread-sanitizer-2 into main

The series

  • disabled futexes when we compile with TSAN, because TSAN doesn't actually support them, and works better with the standard mutex support
  • Add the possibility to pass a tsan blacklist file at compile time to suppress reporting data races that are of no consequences (requires compiling with clang).
  • Disable a few debug features in llvmpipe when TSAN is enabled to reduce the number of reported data races for things that are not important for a TSAn analysis
  • Add a few functions to the blacklist to silence the reporting of a few acceptable data races

Updated:

  • With TSAN enabled add a lock around reading fence->signalled in util_queue_fence_is_signalled because this mimics better the use of futexes where the corresponding value is accessed using atomics.
Edited by Gert Wollny

Merge request reports