Comparing to the version 1, I have broken it down to 3 smaller patches each modifying single source file. Each of those can be also applied independently.
The first 2 patches in this series modify the waiter/wait_record and multiple-producers single-consumer queue to make them work correctly on weak memory model architectures like ARM. These two constitute the building blocks of the very critical synchronization mechanism in OSv - lock-free mutex. Similarly the 3rd patch modifies synch_thread/synch_port to make it work correctly with weak memory model. Fixes #1123 Waldemar Kozaczuk (3): aarch64: smp - wait_record aarch64: smp - queue mpsc aarch64: smp - bsd bsd/porting/synch.cc | 13 +++++++------ include/lockfree/queue-mpsc.hh | 19 ++++++++++--------- include/osv/wait_record.hh | 16 ++++++++-------- 3 files changed, 25 insertions(+), 23 deletions(-) -- 2.30.2 -- You received this message because you are subscribed to the Google Groups "OSv Development" group. To unsubscribe from this group and stop receiving emails from it, send an email to osv-dev+unsubscr...@googlegroups.com. To view this discussion on the web visit https://groups.google.com/d/msgid/osv-dev/20210516041948.989655-1-jwkozaczuk%40gmail.com.