__INSN_BARRIER(3)       NetBSD 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 bar-
     rier.  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), mb(9)

     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.

NetBSD 6.0                      January 2, 2011                     NetBSD 6.0

You can also request any man page by name and (optionally) by section:

Command: 
Section: 
Architecture: 
Collection: 
 

Use the DEFAULT collection to view manual pages for third-party software.


©1994 Man-cgi 1.15, Panagiotis Christias <christia@softlab.ntua.gr>
©1996-2014 Modified for NetBSD by Kimmo Suominen