Linux and UNIX Man Pages

Linux & Unix Commands - Search Man Pages

__insn_barrier(3) [netbsd man page]

__INSN_BARRIER(3)					   BSD Library Functions Manual 					 __INSN_BARRIER(3)

__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 neces- sary 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,, June 7, 2010. HISTORY
The __insn_barrier() macro first appeared in NetBSD 2.0. BSD
January 2, 2011 BSD

Check Out this Related Man Page

MB(9)							   BSD Kernel Developer's Manual						     MB(9)

mb, mb_memory, mb_read, mb_write -- memory barriers SYNOPSIS
#include <sys/lock.h> void mb_memory(void); void mb_read(void); void mb_write(void); DESCRIPTION
Many types of processor can execute instructions in a different order than issued by the compiler or assembler. On a uniprocessor system, out of order execution is transparent to the programmer, operating system and applications, as the processor must ensure that it is self con- sistent. On multiprocessor systems, out of order execution can present a problem where locks are not used to guarantee atomicity of access, because loads and stores issued by any given processor can appear on the system bus (and thus appear to other processors) in an unpredictable order. mb_memory(), mb_read(), and mb_write() can be used to control the order in which memory accesses occur, and thus the order in which those accesses become visible to other processors. They can be used to implement ``lockless'' access to data structures where the necessary bar- rier conditions are well understood. Memory barriers can be computationally expensive, as they are considered ``serializing'' operations and may stall further execution until the processor has drained internal buffers and re-synchronized. The memory barrier primitives control only the order of memory access. They provide no guarantee that stores have been flushed to the bus, or that loads have been made from the bus. The memory barrier primitives are guaranteed only to prevent reordering of accesses to main memory. They do not provide any guarantee of ordering when used with device memory (for example, loads or stores to or from a PCI device). To guarantee ordering of access to device mem- ory, the bus_dma(9) and bus_space(9) interfaces should be used. FUNCTIONS
mb_memory() Issue a full memory barrier, ordering all memory accesses. Causes all loads and stores preceding the call to mb_memory() to complete before further memory accesses can be made. mb_read() Issue a read memory barrier, ordering all loads from memory. Causes all loads preceding the call to mb_read() to complete before fur- ther loads can be made. Stores may be reordered ahead of or behind a call to mb_read(). mb_write() Issue a write memory barrier, ordering all stores to memory. Causes all stores preceding the call to mb_write() to complete before further stores can be made. Loads may be reordered ahead of or behind a call to mb_write(). SEE ALSO
__insn_barrier(3), bus_dma(9), bus_space(9), mutex(9), rwlock(9) HISTORY
The memory barrier primitives first appeared in NetBSD 5.0. BSD
January 2, 2011 BSD
Man Page

13 More Discussions You Might Find Interesting

1. Tips and Tutorials

Unix File Permissions

Introduction I have seen some misinformation regarding Unix file permissions. I will try to set the record straight. Take a look at this example of some output from ls: $ ls -ld /usr/bin /usr/bin/cat drwxrwxr-x 3 root bin 8704 Sep 23 2004 /usr/bin -r-xr-xr-x 1 bin bin ... (6 Replies)
Discussion started by: Perderabo
6 Replies

2. Shell Programming and Scripting

sorting left-justified numeric values

I have a file which looks roughly like this: 996 mmmmmmm 996 xxxxxxxxxxxxx 99600 ssssssssss 9964 fffffffffffff and would like to sort it numerically on the first field. I tried: sort -nr --key=1 .... The output I get is: 99600 ssssssssss 9964 ... (3 Replies)
Discussion started by: rovf
3 Replies

3. Programming

Memory Leaks

Suppose I have a main() function with only one malloc statement allocating say some 1 gb memory. Also say my system has 1 gb of ram. main() { malloc(1gb) return(0) } The program above exits without freeing the memory. In this case will the 1 gb of heap memory be returned... (9 Replies)
Discussion started by: rupeshkp728
9 Replies

4. Solaris

How to install PGX32 on Sparc 10 Ultra?

I'm trying to install a PGX32 video card on my Sparc 10 Ultra running Solaris 10. I've got the Oracle installation guide for it and I got as far as: "4. Insert the CD-ROM labeled “GFX OpenWindows for Solaris 2” into the drive." I don't have a CD-ROM by that name and a web search for that... (21 Replies)
Discussion started by: Michele31416
21 Replies

5. Shell Programming and Scripting

Better to Use Return Code or wc -l Output?

Hey All, Quick question... I'm writing a short script to check if a continuous port is running on a server. I'm using "ps -ef | grep -v grep | grep processName" and I was wondering if it was better/more reliable to just check the return code from the command or if its better to pipe to... (12 Replies)
Discussion started by: mrm5102
12 Replies

6. Shell Programming and Scripting

Vm versus physical linux server

Does anyone have a script that can be run to tell you if you are on either a VM Linux or a physical Linux server? (15 Replies)
Discussion started by: bigbenn
15 Replies

7. BSD

NetBSD 6.1.2: apm and admd not found

I installed NetBSD 6.1.2 amd64 and can't find the apm utility. Is it not in the base system? Is it necessary to recompile the default amd64 kernel to use apm? Or is there a new method for power management and suspend/resume? (2 Replies)
Discussion started by: bsdx
2 Replies

8. Shell Programming and Scripting

RFC - Korn shell prompt

Hi, I am learning shell scripting for the first time. I use AT&T Korn Shell, Version AJM 93u+ 2012-08-01, compiled from source on NetBSD. So far I have managed to set up what I think is a useful and pleasing shell prompt, which can be seen in the image attached to this post. The prompt is... (2 Replies)
Discussion started by: gezley
2 Replies

9. Shell Programming and Scripting

Make bold chars in UNIX

Hi all, I want to make the string as bold in unix. is there any way to acheive this? thanks in advance. (16 Replies)
Discussion started by: SekhaReddy
16 Replies

10. Shell Programming and Scripting

Adding a List of Times

Hey gang, I have a list of times I need to sum up. This list can vary from a few to a few thousand entries. Now I had found a closed reference to adding time titled "add up time with xx:yy format in bash how?" In it, the example works great for that formatted list of times... This is the reply code... (5 Replies)
Discussion started by: Brusimm
5 Replies

11. UNIX for Beginners Questions & Answers

BSD Unix Toolbox: 1000+ Commands for FreeBSD, OpenBSD, and NetBSD

Usually when I on the evening go to bed I take some interesting book with me. I read it for a while to get me down to sleep. Probably most people seek information from the Nett by googleing but I am so oldfashioned I prefer a real book ;) But what a book. The one I found and ordered is BSD Unix®... (0 Replies)
Discussion started by: fossiili
0 Replies

12. UNIX for Beginners Questions & Answers

Grandpa returning to UNIX

On the late 1960s I got short hands on experience with a russian "small" computer. It vas a copy of DEC's VAX ... and running some version of BSD-Unix. After that I worked in a university following the development of computing. After retire I started collecting old pc's and installing... (13 Replies)
Discussion started by: fossiili
13 Replies

13. UNIX for Beginners Questions & Answers

Grep command to show the number of results

Hi I wanted to know if there is an option in grep command to show the number of results (not the number of lines of findings). Thanks (14 Replies)
Discussion started by: abdossamad2003
14 Replies