diff options
author | hkuang <hkuang@google.com> | 2015-02-05 12:44:04 -0800 |
---|---|---|
committer | Gerrit Code Review <gerrit@gerrit.golo.chromium.org> | 2015-02-05 12:44:04 -0800 |
commit | 65f046e29fa03d45f884dadae12d7240c29839d8 (patch) | |
tree | e1e647db9ec6448198214ced25cfdd0e0338190f /vp9/decoder | |
parent | 3be948d84b48c92386887aea0bd7ddb931ee03b4 (diff) | |
parent | 41e376e494c39ac4f6e442e715d773e887da968e (diff) | |
download | libvpx-65f046e29fa03d45f884dadae12d7240c29839d8.tar libvpx-65f046e29fa03d45f884dadae12d7240c29839d8.tar.gz libvpx-65f046e29fa03d45f884dadae12d7240c29839d8.tar.bz2 libvpx-65f046e29fa03d45f884dadae12d7240c29839d8.zip |
Merge "Mute the harmless tsan error in frame parallel decode."
Diffstat (limited to 'vp9/decoder')
-rw-r--r-- | vp9/decoder/vp9_dthread.c | 15 |
1 files changed, 12 insertions, 3 deletions
diff --git a/vp9/decoder/vp9_dthread.c b/vp9/decoder/vp9_dthread.c index 7aa888848..d2a2b819c 100644 --- a/vp9/decoder/vp9_dthread.c +++ b/vp9/decoder/vp9_dthread.c @@ -45,6 +45,13 @@ void vp9_frameworker_signal_stats(VP9Worker *const worker) { #endif } +// This macro prevents thread_sanitizer from reporting known concurrent writes. +#if defined(__has_feature) +#if __has_feature(thread_sanitizer) +#define BUILDING_WITH_TSAN +#endif +#endif + // TODO(hkuang): Remove worker parameter as it is only used in debug code. void vp9_frameworker_wait(VP9Worker *const worker, RefCntBuffer *const ref_buf, int row) { @@ -52,9 +59,11 @@ void vp9_frameworker_wait(VP9Worker *const worker, RefCntBuffer *const ref_buf, if (!ref_buf) return; - // Enabling the following line of code will get harmless tsan error but - // will get best performance. - // if (ref_buf->row >= row && ref_buf->buf.corrupted != 1) return; +#ifndef BUILDING_WITH_TSAN + // The following line of code will get harmless tsan error but it is the key + // to get best performance. + if (ref_buf->row >= row && ref_buf->buf.corrupted != 1) return; +#endif { // Find the worker thread that owns the reference frame. If the reference |