commit d9a5f9d9db092cc5b4d8fd563a834183b2e9b301 Author: Joseph Schuchart Date: Wed May 28 10:11:58 2025 -0400 Force alignment of opal_atomic_int128_t to be 16B Some architectures will align 128bit integer on 8B but require 16B alignment for 128bit CAS instructions and otherwise fall back to a lock-based atomicity model. By forcing 16bit alignment we can ensure that the variables are properly aligned and the fall-back is not triggered. Thanks to Ulrich Weigand for the analysis and proposed fix in https://github.com/open-mpi/ompi/issues/10988#issuecomment-2913388506. Signed-off-by: Joseph Schuchart diff --git opal/include/opal_stdatomic.h opal/include/opal_stdatomic.h index 354375512088..f7dd8353d3b6 100644 --- opal/include/opal_stdatomic.h +++ opal/include/opal_stdatomic.h @@ -72,7 +72,7 @@ typedef _Atomic opal_int128_t opal_atomic_int128_t; # else -typedef volatile opal_int128_t opal_atomic_int128_t; +typedef volatile opal_int128_t opal_atomic_int128_t __opal_attribute_aligned__(16); # endif