Help TSAN to do more useful reporting
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
inutil_queue_fence_is_signalled
because this mimics better the use of futexes where the corresponding value is accessed using atomics.
Edited by Gert Wollny