Is this the right list?

Jason A. Pfeil (
Mon, 7 Dec 1998 10:53:38 -0500 (EST)

To all respected and revered Linux developers,

I apologize in advance in case this is not the right forum for my
questions. I am a candidate for a Master's degree in Computer Science,
and my project deals in adding functionality to the TCP/IP stack in
linux. I am running into some problems, and I am curious about some
synchronization mechanisms I am using. When is it safe and not safe to
use the start_bh_atomic() and end_bh_atomic() calls to try to guarantee
single access to critical sections of code? I am working on the 2.0.36
kernel until I get this working, then I will port it to 2.1.x or 2.2.x (if
it's released before I finish). If start/end_bh_atomic() is not supposed
to be used for a general synch. mechanism, is there one to use, or should
I roll my own? Also, when I look at the defs for the
start/end_bh_atomic() calls, they reference a function called barrier()
that is #defined as:

#define barrier() __asm__("": : :"memory")

I have never seen an assembly instruction like this, and I was wondering
if I could ask anyone what this was and how to use it so that if I have
to, I can roll my own synch. mechanisms.

Thank you in advance for your time.


Jason Pfeil

Jason A. Pfeil
Information Systems Developer
CASDL (850)644-8014; fax: (850)644-4952
Learning Systems Institute University Center C-3527 Tallahassee, FL 32306-2540

To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to
Please read the FAQ at