Now
MAIN commitmail json YAML
src/common/lib/libc/arch/i386/atomic/atomic.S@1.31
/
diff
/
nxr@1.31
src/common/lib/libc/arch/x86_64/atomic/atomic.S@1.24 / diff / nxr@1.24
src/sys/arch/amd64/include/frameasm.h@1.54 / diff / nxr@1.54
src/sys/arch/i386/include/frameasm.h@1.34 / diff / nxr@1.34
src/sys/arch/x86/x86/patch.c@1.50 / diff / nxr@1.50
src/common/lib/libc/arch/x86_64/atomic/atomic.S@1.24 / diff / nxr@1.24
src/sys/arch/amd64/include/frameasm.h@1.54 / diff / nxr@1.54
src/sys/arch/i386/include/frameasm.h@1.34 / diff / nxr@1.34
src/sys/arch/x86/x86/patch.c@1.50 / diff / nxr@1.50
x86: Every load is a load-acquire, so membar_consumer is a noop.
lfence is only needed for MD logic, such as operations on I/O memory
rather than normal cacheable memory, or special instructions like
RDTSC -- never for MI synchronization between threads/CPUs. No need
for hot-patching to do lfence here.
(The x86_lfence function might reasonably be patched on i386 to do
lfence for MD logic, but it isn't now and this doesn't change that.)
lfence is only needed for MD logic, such as operations on I/O memory
rather than normal cacheable memory, or special instructions like
RDTSC -- never for MI synchronization between threads/CPUs. No need
for hot-patching to do lfence here.
(The x86_lfence function might reasonably be patched on i386 to do
lfence for MD logic, but it isn't now and this doesn't change that.)