2

私は、 TSAN が を理解していないことstd::atomic_thread_fenceを知りました。それを修正するには、フェンスの影響を受けるアトミック変数を TSAN に伝える必要があり__tsan_acquire(void *)ます__tsan_release(void *)

しかし、seq-cst フェンスはどうでしょうか? 私が理解しているように、それらはacq-relフェンスよりも厳しいので、acq-relアノテーションは十分ではないでしょうか?

私はさまざまなメモリ順序にあまり慣れていないため、何かが欠けている可能性があります。

4

1 に答える 1

0

Github の @dvyukov は +__tsan_acquireインストル__tsan_releaseメンテーション (acq-rel フェンスと同じ) で十分であることを確認しました。

TSAN が一般的に seq-cst 操作と acq-rel 操作を区別しないことを意味するのかどうかはわかりません。

于 2022-01-04T10:04:34.517 に答える