Manual Page Result
0
Command: __insn_barrier | Section: 3 | Source: NetBSD | File: __insn_barrier.3
__INSN_BARRIER(3) FreeBSD Library Functions Manual __INSN_BARRIER(3)
NAME
__insn_barrier - compiler reorder barrier
SYNOPSIS
#include <sys/cdefs.h>
void
__insn_barrier();
DESCRIPTION
The __insn_barrier() macro prevents GCC from moving code across the
barrier. In other words, the compiler is not allowed to reorder read and
write commands below the barrier with the code preceding the barrier.
Like with the volatile type qualifier, __insn_barrier() may be necessary
in some corner cases to prevent the compiler from misoptimizing.
SEE ALSO
gcc(1), cdefs(3), membar_ops(3)
Paul E. McKenney, Memory Barriers: a Hardware View for Software Hackers,
http://www.rdrop.com/users/paulmck/scalability/paper/whymb.2010.06.07c.pdf,
June 7, 2010.
HISTORY
The __insn_barrier() macro first appeared in NetBSD 2.0.
FreeBSD 14.1-RELEASE-p8 January 2, 2011 FreeBSD 14.1-RELEASE-p8