Page MenuHomePhabricator

protze.joachim (Joachim Protze)
User

Projects

User does not belong to any projects.

User Details

User Since
Sep 24 2015, 4:45 AM (353 w, 1 d)

Recent Activity

Today

protze.joachim added a comment to D128896: [Libomptarget] Fix bucket selection in MemoryManager.h.

I don't understand. Here we all do >> operation. How could it cause overflow?

Fri, Jul 1, 12:19 AM · Restricted Project, Restricted Project
protze.joachim updated the summary of D128896: [Libomptarget] Fix bucket selection in MemoryManager.h.
Fri, Jul 1, 12:18 AM · Restricted Project, Restricted Project

Yesterday

protze.joachim requested review of D128896: [Libomptarget] Fix bucket selection in MemoryManager.h.
Thu, Jun 30, 1:57 AM · Restricted Project, Restricted Project

Tue, Jun 28

protze.joachim added inline comments to D128403: [OpenMP] add 4 custom APIs supporting MSVC OMP codegen.
Tue, Jun 28, 9:00 AM · Restricted Project, Restricted Project

May 16 2022

protze.joachim added inline comments to D125698: [Libomptarget] Don't build the device runtime without a new Clang.
May 16 2022, 12:07 PM · Restricted Project, Restricted Project
protze.joachim added a comment to D125698: [Libomptarget] Don't build the device runtime without a new Clang.

Are the llvm version variables defined for stand-alone builds? So, will stand-alone builds of OpenMP continue to work and include libomptarget code?

May 16 2022, 9:49 AM · Restricted Project, Restricted Project

May 3 2022

protze.joachim accepted D124812: [OpenMP] Possible fix for sporadic test failure from loop_dispatch.c.

lgtm now

May 3 2022, 12:16 PM · Restricted Project, Restricted Project

May 2 2022

protze.joachim added a comment to D124812: [OpenMP] Possible fix for sporadic test failure from loop_dispatch.c.

Thanks for the fix! I'm quite confident that this change will fix the sporiadic test failures (most probably under high system load).

May 2 2022, 10:39 PM · Restricted Project, Restricted Project

Apr 29 2022

protze.joachim added inline comments to D122107: [OpenMP] Add support for ompt_callback_dispatch.
Apr 29 2022, 10:31 PM · Restricted Project, Restricted Project

Apr 6 2022

protze.joachim accepted D122645: [OpenMP][NFC] lit: Allow setting default environment variables for test.

This patch LGTM.

Apr 6 2022, 5:25 AM · Restricted Project, Restricted Project
protze.joachim added a comment to D122645: [OpenMP][NFC] lit: Allow setting default environment variables for test.

I checked the runtime tests and found that openmp/runtime/test/barrier/omp_barrier.c already triggers different combinations of barriers. Do the combinations cover all configurations you tried manually?
Regarding reductions, I think it would make sense to add similar run lines to openmp/runtime/test/worksharing/for/omp_for_reduction.c in order to cover different code paths in the runtime.

Apr 6 2022, 5:23 AM · Restricted Project, Restricted Project
protze.joachim added a comment to D123193: [OpenMP] libomp: Add missing ompt callbacks in hier barrier reduction.

I agree, the expected output does not fit the general case of reductions.
As a workaround, I would change the check prefix for reduction 2-n from CHECK to MULTIPLE and add --check-prefixes CHECK,MULTIPLE for the RUN-lines, where multiple pairs of reduction callbacks are expected. So the default would be "at least one" pair of callbacks.

Apr 6 2022, 4:52 AM · Restricted Project, Restricted Project
protze.joachim added a comment to D122645: [OpenMP][NFC] lit: Allow setting default environment variables for test.

I think, in addition to manually selecting the barrier implementation, we should add additional run lines to specific tests that trigger the different barrier implementations. I added a related, OMPT-specific comment to D123193.

Apr 6 2022, 2:43 AM · Restricted Project, Restricted Project
protze.joachim added a comment to D123193: [OpenMP] libomp: Add missing ompt callbacks in hier barrier reduction.

Can you add extra run lines to openmp/runtime/test/ompt/synchronization/reduction/*_reduce.c in order to trigger the different barrier implementations?

Apr 6 2022, 2:39 AM · Restricted Project, Restricted Project
protze.joachim accepted D122107: [OpenMP] Add support for ompt_callback_dispatch.

Thanks for working on this!

Apr 6 2022, 1:51 AM · Restricted Project, Restricted Project

Apr 1 2022

protze.joachim added a comment to D122645: [OpenMP][NFC] lit: Allow setting default environment variables for test.

I think, the name of the variable is confusing. The tests triggered and influenced by your example command are not limited to libomp. Currently the LIBOMP_ prefix is mainly used for cmake variables. The make target to run the tests is called check-* rather than test-*.

Apr 1 2022, 1:45 AM · Restricted Project, Restricted Project

Mar 7 2022

protze.joachim added inline comments to D121060: [OpenMP][NFCI] Use RAII lock guards in libomptarget where possible.
Mar 7 2022, 7:29 AM · Restricted Project, Restricted Project

Mar 3 2022

protze.joachim added a comment to D119676: [OpenMP] libomp: implemented task priorities..

For the test I suggest signalling like used for OMPT tests (see openmp/runtime/tests/ompt/ompt_signal.h) to enforce the execution ordering rather than sleep "synchronization".

Mar 3 2022, 4:50 AM · Restricted Project, Restricted Project
protze.joachim added inline comments to D120671: [OpenMP][libomp] omp_in_explicit_task() implementation..
Mar 3 2022, 4:49 AM · Restricted Project, Restricted Project

Feb 24 2022

protze.joachim added a comment to D119988: [OpenMP][Offloading] Fix test case issues in bug49334.cpp.

I change it back to 256.

Feb 24 2022, 6:49 AM · Restricted Project

Feb 21 2022

protze.joachim added a comment to D117977: [cmake] Don't export `LLVM_TOOLS_INSTALL_DIR` anymore.

I think in openmp/tools currently only libraries and header files get installed, but no binaries.

Feb 21 2022, 5:57 AM · Restricted Project, Restricted Project, Restricted Project, Restricted Project, Restricted Project, Restricted Project

Jan 31 2022

protze.joachim committed rG0fd5f6964df6: [OpenMP][tests][NFC] Pin debug info to DWARF v4 for libarcher tests (authored by protze.joachim).
[OpenMP][tests][NFC] Pin debug info to DWARF v4 for libarcher tests
Jan 31 2022, 1:56 PM

Dec 15 2021

protze.joachim accepted D115328: SIGSEGV in ompt_tsan_dependences with for-ordered.

Thanks for the update. LGTM.
Can you commit yourself, or should I commit the fix for you?

Dec 15 2021, 8:09 AM · Restricted Project

Dec 8 2021

protze.joachim added a comment to D115328: SIGSEGV in ompt_tsan_dependences with for-ordered.

Just return, if (Data->Parent == nullptr).

Dec 8 2021, 4:44 AM · Restricted Project

Dec 7 2021

protze.joachim accepted D114083: [OpenMP] Disable libomptarget profiling by default if built via the "runtimes" setup.

lgtm

Dec 7 2021, 3:57 AM · Restricted Project

Nov 22 2021

protze.joachim added inline comments to D113728: [libomptarget] [amdgpu] Foundation for OMPT target callback support.
Nov 22 2021, 1:58 AM · Restricted Project, Restricted Project

Nov 17 2021

protze.joachim added inline comments to D114083: [OpenMP] Disable libomptarget profiling by default if built via the "runtimes" setup.
Nov 17 2021, 11:19 AM · Restricted Project
protze.joachim added a comment to D108574: [OpenMP] libomp: runtime part of omp_all_memory task dependence implementation..

I guess the question is, whether we expect more reserved locators will be introduced in the future. Since the spec actually introduced a new section, I thought this might really happen. During OMPT discussion, Deepak also raised the issue, that these future reserved locators might not be limited to inout/out dependencies.
Therefore, I thought it would make sense to let the flag just indicate that this involves a reserved locator and encode the kind of locator in the address argument.

Nov 17 2021, 11:03 AM · Restricted Project

Nov 16 2021

protze.joachim added a comment to D114005: [OpenMP][Tools] Fix handling of initial-task-end.

What happens for a teams construct? The implicit tasks in that case are all initial tasks. Should this Data->Team->Delete() apply there as well, or only for the implicit parallel region for the whole program?

Nov 16 2021, 12:08 PM · Restricted Project, Restricted Project
protze.joachim requested review of D114020: [OpenMP][Tools] Teams support for libarcher.
Nov 16 2021, 12:05 PM · Restricted Project
protze.joachim requested review of D114005: [OpenMP][Tools] Fix handling of initial-task-end.
Nov 16 2021, 8:21 AM · Restricted Project, Restricted Project

Nov 12 2021

protze.joachim updated subscribers of D113728: [libomptarget] [amdgpu] Foundation for OMPT target callback support.

I mainly checked the libomp code and put some inline comments.

Nov 12 2021, 7:24 AM · Restricted Project, Restricted Project

Nov 10 2021

protze.joachim added a reverting change for rG3bc8ce5dd718: [openmp] Add OMPT initialization in libomptarget: rG52da6f562e7d: Revert "[openmp] Add OMPT initialization in libomptarget".
Nov 10 2021, 3:46 AM
protze.joachim committed rG52da6f562e7d: Revert "[openmp] Add OMPT initialization in libomptarget" (authored by protze.joachim).
Revert "[openmp] Add OMPT initialization in libomptarget"
Nov 10 2021, 3:46 AM
protze.joachim added a reverting change for D99803: [openmp] Add OMPT initialization in libomptarget: rG52da6f562e7d: Revert "[openmp] Add OMPT initialization in libomptarget".
Nov 10 2021, 3:46 AM · Restricted Project

Nov 2 2021

protze.joachim added inline comments to D111788: [OpenMP] Add OMPT support for omp_all_memory task dependence.
Nov 2 2021, 4:05 AM · Restricted Project

Oct 29 2021

protze.joachim requested review of D112809: [OpenMP][OMPT] Introduce VERBOSE_INIT in ompt-multiplex.h.
Oct 29 2021, 5:13 AM · Restricted Project
protze.joachim requested review of D112806: [OpenMP][OMPT] Add two missing nullpointer checks in ompt-multiplex.h.
Oct 29 2021, 4:58 AM · Restricted Project
protze.joachim requested review of D112805: [OpenMP][OMPT] Transparently support emi and noemi callbacks in ompt-multiplex.h.
Oct 29 2021, 4:53 AM · Restricted Project
protze.joachim requested review of D112800: [OpenMP][OMPT] Implement missing event callbacks in ompt-multiplex.h.
Oct 29 2021, 4:20 AM · Restricted Project
protze.joachim requested review of D112799: [OpenMP][OMPT] Add infrastructure for target_data in ompt-multiplex.h.
Oct 29 2021, 4:16 AM · Restricted Project
protze.joachim requested review of D112798: [OpenMP][OMPT] Rename callback master to masked in ompt-multiplex.h.
Oct 29 2021, 4:13 AM · Restricted Project

Oct 25 2021

protze.joachim accepted D112174: [OpenMP] Fix possible NULL dereference.

Thanks for the clarification.
lgtm

Oct 25 2021, 2:51 PM · Restricted Project
protze.joachim updated subscribers of rGd7fdd236d59f: [OpenMP][Tests][NFC] Replace atomic increment by reduction.

@jlpeyton can you check with your compiler team, what is wrong with icc 2021? icx works fine.

Oct 25 2021, 9:40 AM
protze.joachim committed rGf41d08540be2: [OpenMP][OMPT] thread_num determination during execution of nested serialized… (authored by vladaindjic).
[OpenMP][OMPT] thread_num determination during execution of nested serialized…
Oct 25 2021, 9:24 AM
protze.joachim committed rGf2410bfb1c49: [OpenMP][OMPT][clang] task frame support fixed in __kmpc_fork_call (authored by vladaindjic).
[OpenMP][OMPT][clang] task frame support fixed in __kmpc_fork_call
Oct 25 2021, 9:24 AM
protze.joachim committed rG73682279653e: [OpenMP][Tests] Test omp_get_wtime for invariants (authored by protze.joachim).
[OpenMP][Tests] Test omp_get_wtime for invariants
Oct 25 2021, 9:23 AM
protze.joachim committed rG3f229f42b796: [OpenMP][Tests][NFC] Actually check for test outcome (authored by protze.joachim).
[OpenMP][Tests][NFC] Actually check for test outcome
Oct 25 2021, 9:23 AM
protze.joachim committed rG047890bc3f92: [OpenMP][Tests][NFC] Mark tests trying to link COI as unsupported (authored by protze.joachim).
[OpenMP][Tests][NFC] Mark tests trying to link COI as unsupported
Oct 25 2021, 9:23 AM
protze.joachim closed D110699: [OpenMP][OMPT] thread_num determination during execution of nested serialized parallel regions.
Oct 25 2021, 9:23 AM · Restricted Project
protze.joachim committed rGd7fdd236d59f: [OpenMP][Tests][NFC] Replace atomic increment by reduction (authored by protze.joachim).
[OpenMP][Tests][NFC] Replace atomic increment by reduction
Oct 25 2021, 9:23 AM
protze.joachim closed D112419: [OpenMP][OMPT][clang] task frame support fixed in __kmpc_fork_call.
Oct 25 2021, 9:23 AM · Restricted Project
protze.joachim committed rG38f78dd2e25a: [OpenMP][Tools][NFC] Fix C99-style declaration of iteration variables (authored by protze.joachim).
[OpenMP][Tools][NFC] Fix C99-style declaration of iteration variables
Oct 25 2021, 9:23 AM
protze.joachim closed D112458: [OpenMP] [test] Test omp_get_wtime for invariants.
Oct 25 2021, 9:23 AM · Restricted Project
protze.joachim committed rGd29a7d23ec53: [OpenMP][Tools][NFC] Pass intel license ENV to lit (authored by protze.joachim).
[OpenMP][Tools][NFC] Pass intel license ENV to lit
Oct 25 2021, 9:23 AM
protze.joachim added a comment to D111789: [OpenMP][OMPT] ompt_parallel_invoker_program used when clang generates the code of parallel if(0)-serialized regions.

Tests should not burn CPU cycles. We use my_sleep from omp_my_sleep.h or delay from ompt-signal.h instead to allow other tests make progress in the meantime.

Oct 25 2021, 9:00 AM · Restricted Project
protze.joachim accepted D112419: [OpenMP][OMPT][clang] task frame support fixed in __kmpc_fork_call.

Looks like we missed to update the code in kmp_csupport, when the management of lwt was refactored.
lgtm

Oct 25 2021, 8:27 AM · Restricted Project
protze.joachim requested review of D112458: [OpenMP] [test] Test omp_get_wtime for invariants.
Oct 25 2021, 7:55 AM · Restricted Project
protze.joachim added a comment to D108488: [OpenMP] [test] Fix intermittent omp_get_wtime.c test failures.

In my local test execution I just got:

Oct 25 2021, 5:20 AM · Restricted Project
protze.joachim accepted D110699: [OpenMP][OMPT] thread_num determination during execution of nested serialized parallel regions.

lgtm

Oct 25 2021, 4:52 AM · Restricted Project

Oct 22 2021

protze.joachim added a comment to D108574: [OpenMP] libomp: runtime part of omp_all_memory task dependence implementation..

Writing up the OMPT interface for omp_all_memory, I realized that treating omp_all_memory individually might not be the best choice, considering that the spec talks about "Reserved Locators".

Oct 22 2021, 8:35 AM · Restricted Project
protze.joachim added a comment to D111788: [OpenMP] Add OMPT support for omp_all_memory task dependence.

We will finish and discuss the spec ticket during the OMPT call next week. I'll commit after the call - just in case we decide for different names.

Oct 22 2021, 6:57 AM · Restricted Project

Oct 21 2021

protze.joachim added a comment to D110109: [OpenMP] libomp: add atomic functions for new OpenMP 5.1 atomics..

Why are the types in __kmpc_atomic_val_4_cas_cpt different from the types in __kmpc_atomic_val_4_cas? I think, all the functions should use fixed-size integer to respect the width suggested by the name of the function.

Oct 21 2021, 7:21 AM · Restricted Project
protze.joachim added a comment to D112174: [OpenMP] Fix possible NULL dereference.
start_tool = (ompt_start_tool_t)dlsym(h, "ompt_start_tool");
Oct 21 2021, 6:19 AM · Restricted Project

Oct 19 2021

protze.joachim added a comment to D110707: [OpenMP][OMPT] lightweight tasks and explicit tasks.

Please update the diff with context (-U9999)

Oct 19 2021, 1:59 AM · Restricted Project
protze.joachim added a comment to D110811: [OpenMP][OMPT] Unnecessary execution of the while loop inside __ompt_get_task_info_internal.

Please update the diff with context (-U9999)

Oct 19 2021, 1:58 AM · Restricted Project

Oct 18 2021

protze.joachim added a comment to D112015: [OpenMP] libomp: add check of task function pointer for NULL.

I already know, that OMPD folks will not be happy about this implementation. Nevertheless, it is a valid and better implementation than before.

Oct 18 2021, 9:51 AM · Restricted Project
protze.joachim committed rG59a994e8daee: [OpenMP][OMPT] thread_num determination for programs with explicit tasks (authored by vladaindjic).
[OpenMP][OMPT] thread_num determination for programs with explicit tasks
Oct 18 2021, 4:55 AM
protze.joachim committed rGc93fb143b98e: [OpenMP][Tests][NFC] Work around ICC bug (authored by protze.joachim).
[OpenMP][Tests][NFC] Work around ICC bug
Oct 18 2021, 4:55 AM
protze.joachim committed rG5918688248fa: [OpenMP][Tests][NFC] Flagging OMPT tests as XFAIL for Intel compilers (authored by protze.joachim).
[OpenMP][Tests][NFC] Flagging OMPT tests as XFAIL for Intel compilers
Oct 18 2021, 4:55 AM
protze.joachim closed D110473: [OpenMP][OMPT] thread_num determination for programs with explicit tasks.
Oct 18 2021, 4:55 AM · Restricted Project
protze.joachim added a comment to D110699: [OpenMP][OMPT] thread_num determination during execution of nested serialized parallel regions.

Overall looks good to me besides one inline comment.
I successfully tested with gcc/11, icc/19 and latest clang.

Oct 18 2021, 4:05 AM · Restricted Project
protze.joachim accepted D110473: [OpenMP][OMPT] thread_num determination for programs with explicit tasks.

lgtm

Oct 18 2021, 2:36 AM · Restricted Project
protze.joachim added inline comments to D111949: [OpenMP][FIX] Do check the level before return team size.
Oct 18 2021, 1:25 AM · Restricted Project

Oct 15 2021

protze.joachim requested review of D111895: [OpenMP][Tools] Add omp_all_memory support for Archer.
Oct 15 2021, 9:14 AM · Restricted Project
protze.joachim committed rG26b675d65eb2: [OpenMP][Tools][NFC] Make an Archer test more robust (authored by protze.joachim).
[OpenMP][Tools][NFC] Make an Archer test more robust
Oct 15 2021, 8:35 AM

Oct 14 2021

protze.joachim requested review of D111788: [OpenMP] Add OMPT support for omp_all_memory task dependence.
Oct 14 2021, 3:56 AM · Restricted Project

Oct 7 2021

protze.joachim added inline comments to rG4498137bd785: [flang] Rewrite test for CPU_TIME.
Oct 7 2021, 1:43 AM

Oct 6 2021

protze.joachim requested changes to D106975: [openmp] Update OMPT declaration and implementation in the runtime.

The commit is put on hold as discussed in 10/6 OpenMP in LLVM call. Someone from AMD (@dhruvachak ?) will work on upstreaming an alternative implementation, which will most probably result in reverting D99803 as well.

Oct 6 2021, 7:52 AM · Restricted Project
protze.joachim added a comment to D108488: [OpenMP] [test] Fix intermittent omp_get_wtime.c test failures.

If this test still has issues after the latest patch changing to 100%, basically avg() < 2* expected, we could change to median() < 2*expected. This would effectively ignore the larger half of values.

Oct 6 2021, 7:21 AM · Restricted Project

Sep 29 2021

protze.joachim added a comment to D110706: Protect calls to KMP_DLSYM in kmp_alloc.cpp.

kmp_ftn_entry.h provides the implementation for all OpenMP API functions. I'm curious to see what happened, that it is not included.

Sep 29 2021, 7:46 AM · Restricted Project
protze.joachim added a comment to D110706: Protect calls to KMP_DLSYM in kmp_alloc.cpp.

Which platform has the problem? Static build does not preclude linking libdl, which will provide dlsym. So, an alternative solution might be to link libdl for the static library?

Sep 29 2021, 6:40 AM · Restricted Project

Sep 24 2021

protze.joachim added a comment to D110354: Add option to build libomp library using Microsoft Visual C++ naming scheme..

Added several questions inline

Sep 24 2021, 3:48 AM · Restricted Project

Sep 21 2021

protze.joachim accepted D110120: [OpenMP][OMPD] Fix compile error when OMPD is not supported.

lgtm

Sep 21 2021, 12:07 AM · Restricted Project

Sep 10 2021

protze.joachim added inline comments to D106975: [openmp] Update OMPT declaration and implementation in the runtime.
Sep 10 2021, 7:18 AM · Restricted Project

Aug 30 2021

protze.joachim committed rG5ea1c3711869: [libomptarget][amdcgn] Only add opt/llvm-link dependency if TARGET is available (authored by protze.joachim).
[libomptarget][amdcgn] Only add opt/llvm-link dependency if TARGET is available
Aug 30 2021, 8:34 AM
protze.joachim closed D108868: [libomptarget][amdcgn] Only add opt/llvm-link dependency if TARGET is available.
Aug 30 2021, 8:33 AM · Restricted Project, Restricted Project

Aug 28 2021

protze.joachim added a comment to D107156: [libomptarget][amdcgn] Add build dependency for opt.

I think, the proper solution is D108868: only add the dependency, if the tools are built at the same time (i.e., the corresponding build targets exist)

Aug 28 2021, 7:48 AM · Restricted Project
protze.joachim requested review of D108868: [libomptarget][amdcgn] Only add opt/llvm-link dependency if TARGET is available.
Aug 28 2021, 7:45 AM · Restricted Project, Restricted Project

Aug 23 2021

protze.joachim added a comment to D101960: [openmp] Drop requirement on library path environment variables.

Pasting env LD_LIBRARY_PATH= and env LIBRARY_PATH into the printed commandline, as opposed to through magic, would solve most of my day to day frustration here. libomp.so and libomptarget.so are in two different directories, LD_LIBRARY_PATH turns out to be colon delimited. LIBRARY_PATH is presently used to find the deviceRTL though I'd like to change that.

Aug 23 2021, 12:53 PM · Restricted Project, Restricted Project

Aug 19 2021

protze.joachim added a comment to D108404: [libomptarget][amdcgn] Add build dependency for llvm-link and opt.

During further testing. I found that nvptx-new had a similar issue. I also had to move the depend code in the runtime cmake file, but I could verify in the ninja.build file, that this change now really adds the expected necessary dependency.

Aug 19 2021, 5:00 PM · Restricted Project, Restricted Project
protze.joachim committed rG4bb36df14412: [libomptarget][amdcgn] Add build dependency for llvm-link and opt (authored by protze.joachim).
[libomptarget][amdcgn] Add build dependency for llvm-link and opt
Aug 19 2021, 4:59 PM
protze.joachim closed D108404: [libomptarget][amdcgn] Add build dependency for llvm-link and opt.
Aug 19 2021, 4:59 PM · Restricted Project, Restricted Project
protze.joachim added a comment to D108404: [libomptarget][amdcgn] Add build dependency for llvm-link and opt.

Thank you very much for getting to the bottom of this! One to add to the llvm-13 branch too I think

Aug 19 2021, 1:59 PM · Restricted Project, Restricted Project
protze.joachim updated the summary of D108404: [libomptarget][amdcgn] Add build dependency for llvm-link and opt.
Aug 19 2021, 1:10 PM · Restricted Project, Restricted Project
protze.joachim requested review of D108404: [libomptarget][amdcgn] Add build dependency for llvm-link and opt.
Aug 19 2021, 1:09 PM · Restricted Project, Restricted Project

Aug 14 2021

protze.joachim added a comment to D105719: sanitizer_common: split LibIgnore into fast/slow paths.

The reason for using ignore_noninstrumented_modules=1 is the general interception of pthread / libc functions.
If the instrumentation pass would name shift the functions during compilation, turning off the analysis for non-name shifted functions, i.e., function calls from non-instrumented code, could be done at runtime without looking at the caller.

Aug 14 2021, 4:00 AM · Restricted Project
protze.joachim added a comment to D108046: tsan: Add new annotation functions to promote all accesses to atomic.

Semantically I could also annotate Mutex semantics. But, from my understanding this introduces HappensBefore edges into the analysis, where I don't want to have them. They would hide even more data races than what I try to solve.

I see. This makes sense.

Re performance, what matters more now is performance of the new runtime that is slowly being upstreamed in pieces:
https://github.com/dvyukov/llvm-project/pull/3

Aug 14 2021, 3:52 AM · Restricted Project, Restricted Project

Aug 13 2021

protze.joachim updated the diff for D108046: tsan: Add new annotation functions to promote all accesses to atomic.

Going back to the branch instead of the multiplication. Doesn't seem to have a performance impact.

Aug 13 2021, 3:32 PM · Restricted Project, Restricted Project
protze.joachim updated the diff for D108046: tsan: Add new annotation functions to promote all accesses to atomic.

I successfully removed the performance regression from the patch.

Aug 13 2021, 3:22 PM · Restricted Project, Restricted Project