diff options
author | jhb <jhb@FreeBSD.org> | 2000-10-28 00:28:15 +0000 |
---|---|---|
committer | jhb <jhb@FreeBSD.org> | 2000-10-28 00:28:15 +0000 |
commit | 94e76ebf966448aa915dd27bb2caed2b2cf5108e (patch) | |
tree | 970ad5a59339c210234a21ceeca517118f4d80bc /sys | |
parent | 25d887ad27679a4a31fb09900f2b17417b939812 (diff) | |
download | FreeBSD-src-94e76ebf966448aa915dd27bb2caed2b2cf5108e.zip FreeBSD-src-94e76ebf966448aa915dd27bb2caed2b2cf5108e.tar.gz |
The x86 atomic operations are already locked, so they do not need an
additional locked instruction to guarantee a write barrier for the acquire
variants.
Approved by: dfr
Pointy hat to: jhb
Diffstat (limited to 'sys')
-rw-r--r-- | sys/amd64/include/atomic.h | 2 | ||||
-rw-r--r-- | sys/i386/include/atomic.h | 2 |
2 files changed, 0 insertions, 4 deletions
diff --git a/sys/amd64/include/atomic.h b/sys/amd64/include/atomic.h index f6da2d1..252cb0d 100644 --- a/sys/amd64/include/atomic.h +++ b/sys/amd64/include/atomic.h @@ -227,7 +227,6 @@ ATOMIC_ASM(subtract, long, "subl %1,%0", v) static __inline void \ atomic_##NAME##_acq_##TYPE(volatile u_##TYPE *p, u_##TYPE v)\ { \ - __asm __volatile("lock; addl $0,0(%esp)" : : : "memory");\ atomic_##NAME##_##TYPE(p, v); \ } \ \ @@ -263,7 +262,6 @@ ATOMIC_ACQ_REL(subtract, long) static __inline u_##TYPE \ atomic_load_acq_##TYPE(volatile u_##TYPE *p) \ { \ - __asm __volatile("lock; addl $0,0(%esp)" : : : "memory");\ return (*p); \ } \ \ diff --git a/sys/i386/include/atomic.h b/sys/i386/include/atomic.h index f6da2d1..252cb0d 100644 --- a/sys/i386/include/atomic.h +++ b/sys/i386/include/atomic.h @@ -227,7 +227,6 @@ ATOMIC_ASM(subtract, long, "subl %1,%0", v) static __inline void \ atomic_##NAME##_acq_##TYPE(volatile u_##TYPE *p, u_##TYPE v)\ { \ - __asm __volatile("lock; addl $0,0(%esp)" : : : "memory");\ atomic_##NAME##_##TYPE(p, v); \ } \ \ @@ -263,7 +262,6 @@ ATOMIC_ACQ_REL(subtract, long) static __inline u_##TYPE \ atomic_load_acq_##TYPE(volatile u_##TYPE *p) \ { \ - __asm __volatile("lock; addl $0,0(%esp)" : : : "memory");\ return (*p); \ } \ \ |