Lucas Crowthers
Lucas Crowthers
This and #20 appear to be duplicates.
[cas64_acquire_release](https://github.com/codeauroraforum/synchronization-benchmarks/blob/ec2760ce698e3b8d4d8f563e1f3cd6f99ce8bbf3/benchmarks/lockhammer/include/atomics.h#L463) uses this version of cas. Is there a reason to not use this where the al version is needed?
cas_lockref is a simplified representation of [Linux kernel lockrefs](https://elixir.bootlin.com/linux/v4.15.18/source/lib/lockref.c#L18) which uses cmpxchg64_relaxed that [boils down to a barrierless cas on AArch64 (I believe)](https://elixir.bootlin.com/linux/latest/source/arch/arm64/include/asm/cmpxchg.h#L185) This is a lockable refcount that is...
I think this was actually the result of pulling in a bug in the originating code which--as I recall--was devised as an LL/SC-only stopgap optimization to MySQL's event mutex. I'm...
The listed commit addresses this issue with what I think you are requesting. It seems to work fine on the systems to which I have access. Also, there is a...
When running with -s what sort of effective parallelism do you see? It should be close to the number of requested cores. If it's significantly lower then the improvement may...
The number of threads created will be the same but "effective parallelism" (output by the tool) tells you how many of the actual threads are running at the same time....
It's more likely that the child threads get starved but the scheduler should be waking up cores to steal and run the child threads since there will be balance problems...
I created a test branch which sched_yields the thread on core 0 if all child threads are not ready yet. Unfortunately I cannot replicate this issue on systems to which...
Please be careful that the sanitization implementation doesn't break the support for test-specific arguments. Perhaps each subtest which defines its own arguments should provide a helper which checks any arguments...