summaryrefslogtreecommitdiffhomepage
path: root/pkg/sync/atomicptr_unsafe.go
diff options
context:
space:
mode:
authorBin Lu <bin.lu@arm.com>2020-06-02 04:25:32 -0400
committerBin Lu <bin.lu@arm.com>2020-09-30 11:54:37 +0800
commit45221684f3e3d985f91a1a896cac616c537516e2 (patch)
tree86953f12d03a8bb7d6e1e9cb1c922ce8f52c49ab /pkg/sync/atomicptr_unsafe.go
parent4b5eae39f201ffbe7f4a0e08a28380099469efe8 (diff)
avoid the random memory barrier issue in mmap testing on Arm64
There is a new random issue on some Arm64 machines. This scene can be summarized as following: Sometimes, the content of the func() pointer is still 0 opcode. The probability of this kind of issue is very low, currently only available on some machines. After inserting a simple memory barrier, this issue was gone. The code to directly use the memory barrier is as follows: memcpy(reinterpret_cast<void*>(addr), machine_code, sizeof(machine_code)); isb() func = reinterpret_cast<uint32_t (*)(void)>(addr); Signed-off-by: Bin Lu <bin.lu@arm.com>
Diffstat (limited to 'pkg/sync/atomicptr_unsafe.go')
0 files changed, 0 insertions, 0 deletions