diff --git a/src/application/transport/rdma/proxy/proxy_thread.cpp b/src/application/transport/rdma/proxy/proxy_thread.cpp index 76f17baa4..5a3de3695 100644 --- a/src/application/transport/rdma/proxy/proxy_thread.cpp +++ b/src/application/transport/rdma/proxy/proxy_thread.cpp @@ -3,6 +3,7 @@ #include "mori/core/transport/rdma/proxy/proxy_thread.hpp" #include +#include #include #include #include @@ -93,8 +94,7 @@ void ProxyThread::DrainCq(ProxyQpHandle& qph) { } volatile uint64_t* target = reinterpret_cast(payload.addr); __atomic_fetch_add(target, payload.val, __ATOMIC_SEQ_CST); - asm volatile("clflush (%0)" :: "r"(target) : "memory"); - asm volatile("sfence" ::: "memory"); + std::atomic_thread_fence(std::memory_order_seq_cst); ibv_sge rsge{}; rsge.addr = reinterpret_cast(qph.recv_buf) + recv_idx * 64; rsge.length = 64;