man.bsd.lv manual page server

Manual Page Search Parameters

__INSN_BARRIER(3) Library Functions Manual __INSN_BARRIER(3)

__insn_barriercompiler reorder barrier

#include <sys/cdefs.h>

void
__insn_barrier();

The () 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 type qualifier, __insn_barrier() may be necessary in some corner cases to prevent the compiler from misoptimizing.

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.

The __insn_barrier() macro first appeared in NetBSD 2.0.

January 2, 2011 NetBSD-9.2